LeetCode 105. Construct Binary Tree from Preorder and Inorder Traversal
2016-05-01 01:36
375 查看
Search in inorder vector to find the next root->right, root->left index which is being used to set the border for next recursion in preorder border.
// you may assume that there is no duplicates in the tree. buildTree(vector<int>& preorder, vector<int>& inorder, TreeNode* root, int index, int nStart, int nEnd) { if(nStart >= nEnd) return; int num = preorder[index]; root = new TreeNode(num); int r = start; while(r < nEnd && inorder[r] != num) {r++;} if(r < nEnd) buildTree(preorder, inorder, root->left, index + 1, nStart, r); if(nEnd > r + 1) buildTree(preorder, inorder, root->right, index + r + 1 - nStart, r + 1, nEnd); } TreeNode* buildTree(vector<int>& preorder, vector<int>& inorder) { TreeNode* root = NULL; int nSize = preorder.size(); buildTree(preorder, inorder, root, 0, 0, nSize); return root; }
相关文章推荐
- Android触屏事件处理流程的最简整理及应用示例
- 给宏基装WIN8.1系统之问题与解决方法(原创)
- 闲话iOS的MVC设计模式
- 用JS写原生的选项卡
- github上传时出现error: src refspec master does not match any解决办法
- HtmlAgilityPack 之 HtmlNode类
- Pro Git读书笔记 - Git 常用命令
- 使用"方法调配技术"调试"黑盒方法"<runtime>
- Mac下MyEclipse2015安装JBoss7,MySQL,EJB开发
- js正则表达式语法
- zlib学习小结
- python queue 的put的暂停当前线程 国内大部分技术文章翻译都翻译错的
- IOS推送服务端PHP简要记述
- $Java设计模式之——观察者模式(Observer)
- 1.简单集群
- Linux文件系统
- POJ 1971 Parallelogram Counting
- 快速粘贴与自动填表软件V1.0 注册版
- 浅析JAVA_HOME,CLASSPATH和PATH的作用
- Adam学习14之Fasta在Adam中的初始存储格式NucleotideContigFragment