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

网站建设叁金手指花总2福州小程序开发案例

网站建设叁金手指花总2,福州小程序开发案例,成都网站建设哪里有,做那个网站比较好题目1链接 题目1: 思路:使用前序确定根,使用中序分左右子树,分治法。 难点:如何控制递归确定左右子树。 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* T…

题目1链接
题目1:
在这里插入图片描述

思路:使用前序确定根,使用中序分左右子树,分治法。

难点:如何控制递归确定左右子树。

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode() : val(0), left(nullptr), right(nullptr) {}*     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*///遍历前序确定根,使用中序来分树class Solution {
public:TreeNode* findRoot(vector<int>& preorder, vector<int>& inorder, int& preindex, int left, int right){if(left>right){return nullptr;}//首先前序确定根TreeNode* root = new TreeNode(preorder[preindex]);//遍历中序,找根,分左右int rootindex = left;while(rootindex<=right){if(inorder[rootindex] == preorder[preindex])break;  //找到了!rootindex++;}preindex++;//   [left, rootindex-1] rootindex [rootindex+1, right]root->left = findRoot(preorder, inorder, preindex, left, rootindex-1);root->right = findRoot(preorder, inorder, preindex, rootindex+1, right);return root;}TreeNode* buildTree(vector<int>& preorder, vector<int>& inorder) {int i = 0;return findRoot(preorder, inorder, i,0, inorder.size()-1);}
};

题目2链接

题目2:
在这里插入图片描述
题目1会了,题目二就一定会了!

注意:后序(左右根)从后往前确定根,中序分左右子树。
递归时,先遍历右子树,再遍历左子树。

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode() : val(0), left(nullptr), right(nullptr) {}*     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:TreeNode* findRoot(vector<int>& inorder, vector<int>& postorder, int& postindex, int left, int right){if(left>right){return nullptr;}//首先后序确定根TreeNode* root = new TreeNode(postorder[postindex]);//遍历中序,找根,分左右int rootindex = left;while(rootindex<=right){if(inorder[rootindex] == postorder[postindex])break;  //找到了!rootindex++;}postindex--;//   [left, rootindex-1] rootindex [rootindex+1, right]root->right = findRoot(inorder, postorder, postindex, rootindex+1, right);root->left = findRoot(inorder, postorder, postindex, left, rootindex-1);return root;}TreeNode* buildTree(vector<int>& inorder, vector<int>& postorder) {int i = postorder.size() - 1;return findRoot(inorder, postorder, i, 0, inorder.size()-1);}
};
http://www.15wanjia.com/news/172154.html

相关文章:

  • 济南手机网站设计阜宁网站建设找哪家好
  • 电子商务网站建设与管理心得网站开发前后端分工
  • seo网站优化专家淘宝店铺装修模板免费下载
  • 网站自适应网站建设项目培训
  • 东仓建设网站成立公司的注册资本可以随便填吗
  • 图表设计网站flask做网站工具
  • 福州哪里制作网站全国企业公示信息公示网官网
  • 做企业网站找哪家微网站 举例
  • 做百度推广会送网站吗wordpress 用户增强
  • 教做奥数的网站旅游网站作用
  • 可以做策略回测的网站c 网站登录验证码怎么做
  • 南宁网站排名外包深圳深圳网站开发
  • 小说网站建立网页美工设计图片
  • 目前做哪些网站能致富商城网站开发多少钱
  • 滨海做网站哪家最好建设旅游网站目的
  • 湘潭做网站价格问下磐石网络我注册过的网站
  • 镇江市扬中市做网站陕西网站建设通报
  • 网站建设适合手机定制开发网站如何报价单
  • 网站开发 需求说明书网页怎么搜索关键词
  • 枣庄手机网站建设公司企业网页设计教程
  • 米拓做网站图片在哪里删掉wordpress 页面模板插件
  • 网站建设大德通洛阳网站建设多少钱
  • 河北建设网站首页网站的空间是什么
  • 检察院门户网站建设情况章丘做网站单位哪家好
  • 河南省省建设厅网站选择做印象绍兴网站的原因
  • 现在建设一个网站需要什么技术广告公司名字大全最新
  • thinkphp做网站有什么好处您网站建设
  • 濮阳家电网站建设本地主机做网站
  • 公司网站制作门槛做背景音乐的版权网站
  • 自学网站建设要多久郑州网站推广技术