当前位置: 首页 > news >正文

LeetCode 105. 从前序与中序遍历序列构造二叉树

 题目描述  

给定两个整数数组 preorder 和 inorder ,其中 preorder 是二叉树的先序遍历, inorder 是同一棵树的中序遍历,请构造二叉树并返回其根节点。

示例

示例 1:

输入: preorder = [3,9,20,15,7], inorder = [9,3,15,20,7]
输出: [3,9,20,null,null,15,7]

示例 2:

输入: preorder = [-1], inorder = [-1]
输出: [-1]

解法

1.递归

解题思路

     前序遍历:按照「根-左子树-右子树」的顺序遍历二叉树。

     中序遍历:按照「左子树-根-右子树」的顺序遍历二叉树。

class Solution {
public:TreeNode* buildTree(vector<int>& preorder, vector<int>& inorder) {if(preorder.size() == 0) return nullptr;int left_size = ranges::find(inorder,preorder[0]) - inorder.begin();  //左子树的节点数vector<int> left_pre(preorder.begin() + 1,preorder.begin() + 1 + left_size); vector<int> right_pre(preorder.begin() + 1 + left_size,preorder.end());vector<int> left_in(inorder.begin(),inorder.begin()+ left_size);vector<int> right_in(inorder.begin() + 1 + left_size,inorder.end());TreeNode* left_tree = buildTree(left_pre,left_in);TreeNode* right_tree = buildTree(right_pre,right_in);return new TreeNode(preorder[0],left_tree,right_tree);}
};

http://www.dtcms.com/a/440102.html

相关文章:

  • 建设银行查余额网站邢台做网站公司排名
  • 深圳网站推广哪家好网站开发用什么编程语言
  • 资源交易网站代码把静态图片做成动态图片的软件
  • VRRP 和堆叠
  • 兖州网站建设公司网站制作方案去哪找
  • 酒店网站做的比较好的wordpress重定向漏洞
  • 天台城乡规划建设局网站羽毛球赛事有哪些
  • 电子商务毕业设计 网站建设深圳市住房建设与保障局官方网站
  • wordpress 缓存用什么宁波seo外包推广平台
  • 南昌市建设规费标准网站建设导航网站费用
  • 做设计转钱网站怎么找网站后台
  • wordpress 国内视频网站济南网站制作套餐
  • 惠州市建设公司网站成都微网站系统
  • 深圳分销网站设计费用丹东公司做网站
  • CS课程项目设计19:基于DeepFace人脸识别库的课堂签到系统
  • 免费视频网站推广软件南通住房和城乡建设厅网站
  • 自设计网站长安网站制作公司
  • 【数据结构与算法-Day 39】插入排序与希尔排序:从 O(n²) 到 O(n^1.3) 的性能飞跃
  • 电商网站开发平台浏览器wordpress如何使用一个的模板
  • 哪个网站可以做印章图案上海做网站报价
  • 建设科普网站手机站和网站有区别吗
  • 单北斗GNSS在大坝变形监测中的应用与技术分析
  • 做软装什么网站可以吗徐州专业网站制作
  • 网站建设 辉煌电商最新网络推广平台
  • 网站建设h5游戏工作室网络组建方案
  • 邯郸做wap网站的公司汽车行业做网站
  • 厚街做网站的公司给别人做网站必须有icp
  • 山东省建设文化传媒有限公司网站学做网站需要文化嘛
  • 网站建设目标个人博客dwwordpress上传图片改名
  • 淘宝联盟填网站备案网站能给企业带来什么