重建二叉树
2016-05-23 10:33
267 查看
重建二叉树
struct TreeNode* reConstructBinaryTree(vector<int> pre,vector<int> in) { if(pre.empty()||in.empty()||pre.size()!=in.size()) return NULL; <strong>TreeNode *root = new TreeNode(pre[0]);//需要申请新的内存空间 int i; for(i=0;pre[0]!=in[i];i++); int in_root = i; vector<int> left_pre; vector<int> left_in; vector<int> right_pre; vector<int> right_in; int j=1; for(i=0;i<in_root;){ left_pre.push_back(pre[j++]); left_in.push_back(in[i++]); } i++; for(;i<in.size();){ right_pre.push_back(pre[j++]); right_in.push_back(in[i++]); } root->left = reConstructBinaryTree(left_pre,left_in); root->right = reConstructBinaryTree(right_pre,right_in); return root; }
相关文章推荐
- 只有程序员看的懂的面试圣经|如何拿下编程面试
- 下一次技术面试时要问的 3 个重要问题
- PHP程序员面试 切忌急功近利(更需要注重以后的发展)
- C#常见算法面试题小结
- php 面试碰到过的问题 在此做下记录
- asp.net 面试+笔试题目第1/2页
- asp.net 面试 笔试题目[附答案]第1/3页
- Python爬虫工程师面试问题总结
- 谈谈最近深圳找工作经历
- 面试:(设计,架构)
- 面试总结(php)
- PHP中级面试经历
- 戴维营教育2015年iOS暑期班笔试面试基础考核题
- 一次有意思的面试
- 程序员编程面试取胜的8个技巧
- PHP相关面试中最经常涉及的12个问题
- 产品经理到底该如何自我介绍?
- 产品经理面试过程中如何回答比较宽泛的问题?
- 阿里资深HR教你一分钟叩开阿里巴巴大门
- 用托福满分作文思路,妥妥搞定产品经理面试