重建二叉树
来源:互联网 发布:topsurv软件 编辑:程序博客网 时间:2024/06/05 15:39
给定两个序列,根据前序和中序构造二叉树:
例如前序遍历{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6}
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: TreeNode* reConstructBinaryTree(vector<int> pre,vector<int> vin) { TreeNode *root = reConstructFunc(pre,0,pre.size()-1,vin,0,vin.size()-1); return root; } TreeNode *reConstructFunc(vector<int> pre,int pre_begin,int pre_len,vector<int> vin,int vin_begin,int vin_len) { if(pre_len<pre_begin||vin_len<vin_begin) return NULL; TreeNode* root = new TreeNode(pre[pre_begin]); for(int i=vin_begin;i<=vin_len;++i) { if(pre[pre_begin]==vin[i]) { root->left = reConstructFunc(pre,pre_begin+1,pre_begin+i-vin_begin,vin,vin_begin,i-1); root->right = reConstructFunc(pre,i-vin_begin+1+pre_begin,pre_len,vin,i+1,vin_len); } } return root; }};
阅读全文
0 0
- 3.9重建二叉树
- 重建二叉树
- 二叉树重建
- 二叉树重建
- 二叉树的重建
- 重建二叉树
- 重建二叉树
- 重建二叉树
- 重建二叉树
- 重建二叉树
- 重建二叉树
- 重建二叉树
- 重建二叉树
- 二叉树重建
- 二叉树重建
- 重建二叉树
- 重建二叉树
- 重建二叉树
- java求解水仙花数
- [笔记分享] [Camera] MTK Camera AF及tuning
- 【JavaSE练习】项目_项目_模拟用户登陆注册功能(IO完成)
- 在服务器端配置jypyter环境
- 学生信息管理系统
- 重建二叉树
- 《Python爬虫开发与项目实战》读书笔记
- 【Java多线程与并发库】01 传统线程技术
- 【支付系统学习笔记】-二支付系统设计(支付网关设计)
- HTTP协议详解(很经典)
- 字典树
- HDU 2041 超级楼梯
- 获得地址
- jvm类加载器双亲委派模式