leetcode 105 & 106
来源:互联网 发布:ireport和java 编辑:程序博客网 时间:2024/05/14 20:28
105
c++(16ms)
TreeNode* get(vector<int>& preorder,int p_start,int p_end, vector<int>& inorder,int i_start,int i_end) { TreeNode*root = new TreeNode(preorder[p_start]); int pos = distance(inorder.begin(),find(inorder.begin() + i_start,inorder.begin()+i_end,preorder[p_start])); int l_size = pos - i_start,r_size = i_end - pos; if(l_size) root->left = get(preorder, p_start+1, p_start+l_size,inorder , i_start , pos-1); if(r_size) root->right = get(preorder, p_start+l_size+1,p_start+l_size+r_size,inorder , pos+1,i_end); return root; } TreeNode* buildTree(vector<int>& preorder, vector<int>& inorder) { if(!preorder.size()) return nullptr; return get(preorder,0,preorder.size()-1,inorder,0,inorder.size()-1); }
106
c++
TreeNode* get(vector<int>& inorder,int i_start,int i_end,vector<int>& postorder,int p_start,int p_end) { TreeNode* root = new TreeNode(postorder[p_end]); int pos = distance(inorder.begin(),find(inorder.begin()+i_start,inorder.begin()+i_end,postorder[p_end])); int l_size = pos - i_start,r_size = i_end - pos; if(l_size) root->left = get(inorder,i_start,pos-1,postorder,p_start,p_start+l_size-1); if(r_size) root->right = get(inorder,pos+1,i_end,postorder,p_start+l_size,p_start+l_size+r_size-1); return root; } TreeNode* buildTree(vector<int>& inorder, vector<int>& postorder) { if(!inorder.size()) return nullptr; return get(inorder,0,inorder.size()-1,postorder,0,postorder.size()-1); }
阅读全文
0 0
- [LeetCode] 105 & 106
- leetcode 105&106
- leetcode 105 & 106
- [Leetcode] 105, 106, 96
- Leetcode 105&106
- Leetcode 105
- LeetCode #105
- LeetCode 105
- LeetCode 106
- leetcode 105 /106 . Construct Binary Tree
- LeetCode简易题解--105、106
- LeetCode 105 Rotate Image
- leetcode #105 in cpp
- Leetcode no. 105
- leetCode练习(105)
- [LeetCode] 105: Spiral Matrix
- LeetCode 106 Permutations II
- leetcode #106 in cpp
- 排序
- 2017 07 24 小结
- 文章标题
- 关于matlab中矩阵的运算
- hdu2089 不要62(C语言)
- leetcode 105 & 106
- Android输入系统之如何进行Dispatche分发
- struts2标签下的用户注册
- java自学-流程控制案例
- web窗体中如何添加table
- HTML5本地数据库写留言版功能
- 不给AC的奇怪玩意(openjudge1.5 11)
- servlet
- EffectiveC++学习笔记-条款39|40