[LeetCode] Construct Binary Tree from Inorder and Postorder Traversal
来源:互联网 发布:苹果电脑mac玩英雄联盟 编辑:程序博客网 时间:2024/06/06 09:38
原题地址:https://oj.leetcode.com/problems/construct-binary-tree-from-inorder-and-postorder-traversal/
Given inorder and postorder traversal of a tree, construct the binary tree.
Note:
You may assume that duplicates do not exist in the tree.
/** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution { public TreeNode buildTree(int[] inorder, int[] postorder) { if (inorder == null || postorder == null || inorder.length < 1 || postorder.length < 1 || inorder.length != postorder.length) { return null; } return helper(inorder, 0, inorder.length - 1, postorder, 0, postorder.length - 1); } private TreeNode helper(int[] inorder, int inStart, int inEnd, int[] postorder, int postStart, int postEnd) { if (inStart > inEnd || postStart > postEnd) { return null; } TreeNode root = new TreeNode(postorder[postEnd]); int indexIn = 0; for (int i = inStart; i <= inEnd; i++) { if (inorder[i] == postorder[postEnd]) { indexIn = i; } } int leftLen = indexIn - inStart; TreeNode left = helper(inorder, inStart, indexIn - 1, postorder, postStart, postStart + leftLen - 1); TreeNode right = helper(inorder, indexIn + 1, inEnd, postorder, postStart + leftLen, postEnd - 1); root.left = left; root.right = right; return root; }}
0 0
- *(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
- [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
- [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
- [LeetCode] Construct Binary Tree from Inorder and Postorder Traversal
- 静态路由,缺省路由和默认网关的区别
- POJ—2083—Fractal—【递归与分治】
- AOP中的实体
- 原始的解释器模式(Interpreter Pattern)
- poj 1456 贪心+并查集优化(卖带截止时间货物的最大利润)
- [LeetCode] Construct Binary Tree from Inorder and Postorder Traversal
- ARM-linux驱动学习:led驱动程序编写练习(2014-8-22)
- CCNU_2014_ACM暑假集训总结
- erlang 实现与 c++ 通讯
- 多少人分开计算的回复大家看是否健康都是风景好看的舒服
- 香农公式
- UVA10887
- Ubuntu linux 打开终端快捷键
- 设置Eclipse的workspace路径