二叉树的建立(先序+中序)
来源:互联网 发布:美丽新世界 知乎 编辑:程序博客网 时间:2024/05/04 14:38
105. Construct Binary Tree from Preorder and Inorder Traversal
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: TreeNode* buildTree(vector<int>& preorder, vector<int>& inorder) { if(preorder.empty() || inorder.empty()) return 0; return createChildTree(preorder.begin(), preorder.end()-1, inorder.begin(), inorder.end()-1); } TreeNode* createChildTree(vector<int>::iterator prebegin, vector<int>::iterator preend, vector<int>::iterator inbegin, vector<int>::iterator inend) { if(prebegin > preend) return 0; TreeNode* root = new TreeNode(*prebegin); if(prebegin == preend) { return root; } vector<int>::iterator it = find(inbegin, inend+1, *prebegin); int n = distance(inbegin, it) - 1; root->left = createChildTree(prebegin+1, prebegin+1+n, inbegin, it-1); root->right = createChildTree(prebegin+1+n+1, preend, it+1, inend); return root; }};
1 0
- 二叉树的建立(先序+中序)
- 先序,中序建立二叉树
- 中序+先序 建立二叉树算法(递归)
- 二叉树的先序建立及先序遍历:
- 二叉树的建立♪♬♫(先序,前中,中后)
- 先序扩展序列建立二叉树;先序、中序、后序遍历的递归算法(树)
- 建立二叉树,实现二叉树的先序,中序遍历的递归算法
- 根据二叉树的先序遍历建立二叉树
- 根据二叉树的先序遍历和中序遍历建立二叉树
- 二叉树建立 先序 中序 后序输出
- 建立二叉树,先序,中序和后续
- 由先序和中序序列建立二叉树
- 先序和中序建立二叉树
- 建立二叉树,先、中、后序遍历
- 二叉树 建立二叉树 二叉树先、中、后序遍历 计算叶结点数 、树的深度
- 已知树的中序+后序/先序遍历,建立二叉树
- 二叉树的建立和中序、先序、后序遍历
- 二叉树的建立与先序,后序,中序输出
- 关于移动端页面弹出框被软键盘遮挡的问题
- JAVA__MySql
- Oracle 查看表空间的大小及使用情况sql语句
- Android单元测试
- 阅读《mysql核心内幕》,启动mysql问题
- 二叉树的建立(先序+中序)
- 图像压缩
- springMVC+Mybatis 学习笔记-【1】Mybatis的框架原理
- 捷键ctrl+c可以直接复制用wxMessageBox弹出的错误提示信息
- android:taskAffinity与android:finishOnTaskLaunch之我见
- C# WinForm开发系列之如何使用panel控件制作左侧导航菜单
- 简单的js交互
- 关于微信辅助 锁屏处理相关解决问题
- docker的安装和简单使用