72:Construct Binary Tree from Inorder and Postorder Traversal
来源:互联网 发布:笔记本mac地址怎么修改 编辑:程序博客网 时间:2024/06/05 21:10
题目:Given inorder and postorder traversal of a tree, construct the binary tree.
Note: You may assume that duplicates do not exist in the tree.
该题目解法的思想和上一题用前序和中序数据构造二叉树那道题目的解法一样
下面解法代码的思想及编写参考了网址https://github.com/soulmachine/leetcode#leetcode题解题目
代码如下:
/ 递归,时间复杂度 O(n),空间复杂度 O(log n)class Solution {public: TreeNode* buildTree(vector<int>& inorder, vector<int>& postorder) { return buildTree(begin(inorder), end(inorder), begin(postorder), end(postorder)); } template <class InputIterator> TreeNode* buildTree(InputIterator in_first, InputIterator in_last, InputIterator post_first, InputIterator post_last) { if (in_first == in_last) return nullptr; if (post_last == post_last) return nullptr; const auto val = *prev(post_last); auto root = new TreeNode(val); auto inRootPos = find(in_first, in_last, val); auto leftSize = distance(in_first, inRootPos); auto post_left_last = next(post_first, left_size); root -> left = buildTree(in_first, inRootPos, post_first, post_left_last); root -> right = buildTree(next(in_root_pos), in_last, post_left_last, prev(post_last)); return root; }};
0 0
- #72 Construct Binary Tree from Inorder and Postorder Traversal
- 72:Construct Binary Tree from Inorder and Postorder Traversal
- *(leetcode) Construct Binary Tree from Inorder and Postorder Traversal (tree)
- LeetCode[Tree]: Construct Binary Tree from Inorder and Postorder Traversal
- LeetCode: Construct Binary Tree from Inorder and Postorder Traversal
- [LeetCode]Construct Binary Tree from Inorder and Postorder Traversal
- LeetCode Construct Binary Tree from Inorder and Postorder Traversal
- LeetCode: Construct Binary Tree from Inorder and Postorder Traversal
- LeetCode: Construct Binary Tree from Inorder and Postorder Traversal
- Construct Binary Tree from Inorder and Postorder Traversal
- [LeetCode] Construct Binary Tree from Inorder and Postorder Traversal
- LeetCode Construct Binary Tree from Inorder and Postorder Traversal
- [Leetcode] Construct Binary Tree from Inorder and Postorder Traversal
- leetcode 110: Construct Binary Tree from Inorder and Postorder Traversal
- 【leetcode】Construct Binary Tree from Inorder and Postorder Traversal
- Construct Binary Tree from Inorder and Postorder Traversal
- [LeetCode]Construct Binary Tree from Inorder and Postorder Traversal
- Construct Binary Tree from Inorder and Postorder Traversal
- IIS站只能访问到默认页面(主页),但是不能访问到其他页面
- 读《哥德尔艾舍尔巴赫》中第19章—人工智能的展望 的思考
- FootballNum新接口预测
- Openlayers3 加载 GeoServer WFS的实现
- redis的安装,以及supervisor对它的运行、关闭等进程管理
- 72:Construct Binary Tree from Inorder and Postorder Traversal
- bzoj 3118: Orz the MST (单纯形)
- Several ports (8005, 8080, 8009) required by Tomcat v7.0 Server at localhost
- Muduo 网络库源码分析 之 关键技术点总结
- Androids四大组件
- 【3.6】
- 初识Spring Boot框架 (一)
- 作业
- C语言基础