leetcode-java-106. Construct Binary Tree from Inorder and Postorder Traversal
2016-08-15 15:55
501 查看
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ /* 1.根据postorder确定根节点 2.在inorder中找到此根节点,找到左子树和右子树递归 */ public class Solution { public TreeNode buildTree(int[] inorder, int[] postorder) { return buildTree(inorder,0,inorder.length - 1,postorder,0,postorder.length - 1); } public TreeNode buildTree(int[] inorder,int inBegin,int inEnd,int[] postorder,int postBegin,int postEnd) { if(inBegin > inEnd) { return null; } // 找到根节点 int val = postorder[postEnd]; TreeNode root = new TreeNode(val); // 在inorder中找到此根节点 int leftLen = 0, i = inBegin; for(;i < inEnd;i++) { if(val == inorder[i]) { break; } leftLen++; } // 需要注意加1 root.left = buildTree(inorder,inBegin,inBegin + leftLen - 1,postorder,postBegin,postBegin + leftLen - 1); root.right = buildTree(inorder,inBegin + leftLen + 1,inEnd,postorder,postBegin + leftLen,postEnd - 1); return root; } }
相关文章推荐
- [leetcode]106. Construct Binary Tree from Inorder and Postorder Traversal@Java结题报告
- [leetcode-106]Construct Binary Tree from Inorder and Postorder Traversal(java)
- 【LeetCode-面试算法经典-Java实现】【106-Construct Binary Tree from Inorder and Postorder Traversal(构造二叉树II)】
- [JAVA]LeetCode106 Construct Binary Tree from Inorder and Postorder Traversal
- Java for LeetCode 106 Construct Binary Tree from Inorder and Postorder Traversal
- LeetCode --- 106. Construct Binary Tree from Inorder and Postorder Traversal
- leetcode_106_Construct Binary Tree from Inorder and Postorder Traversal
- Leetcode#106 Construct Binary Tree from Inorder and Postorder Traversal
- 【LeetCode】106. Construct Binary Tree from Inorder and Postorder Traversal
- [LeetCode]*106.Construct Binary Tree from Inorder and Postorder Traversal
- Construct Binary Tree from Inorder and Postorder Traversal - LeetCode 106
- [leetcode 106] Construct Binary Tree from Inorder and Postorder Traversal
- LeetCode: 106_Construct Binary Tree from Inorder and Postorder Traversal | 根据中序和后序遍历构建二叉树 | Medium
- [Leetcode] 106. Construct Binary Tree from Inorder and Postorder Traversal
- [leetcode] 106.Construct Binary Tree from Inorder and Postorder Traversal
- LeetCode 105/106 Construct Binary Tree from Preorder/Postorder and Inorder Traversal
- [Leetcode 79] 106 Construct Binary Tree from Inorder and Postorder Traversal
- [Leetcode] Construct Binary Tree from Inorder and Postorder Traversal (Java)
- LeetCode 106: Construct Binary Tree from Inorder and Postorder Traversal
- [LeetCode]106 Construct Binary Tree from Inorder and Postorder Traversal