Construct Binary Tree from Inorder and Postorder Traversal
来源:互联网 发布:淘宝模块装修教程啊毛 编辑:程序博客网 时间:2024/06/07 02:41
Given inorder and postorder traversal of a tree, construct the binary tree.
Notice
You may assume that duplicates do not exist in the tree.
Given inorder [1,2,3]
and postorder [1,3,2]
, return a tree:
2 / \1 3
/** * Definition of TreeNode: * public class TreeNode { * public int val; * public TreeNode left, right; * public TreeNode(int val) { * this.val = val; * this.left = this.right = null; * } * } */ public class Solution { /** *@param inorder : A list of integers that inorder traversal of a tree *@param postorder : A list of integers that postorder traversal of a tree *@return : Root of a tree */ public TreeNode buildTree(int[] inorder, int[] postorder) { if(inorder.length == 0 || postorder.length == 0) { return null; } return construct(inorder, 0, inorder.length - 1, postorder, 0, postorder.length - 1); } private TreeNode construct(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 position = 0; for(int i = 0; i < inorder.length; i++) { if(inorder[i] == postorder[postEnd]) { position = i; } } int leftLength = position - inStart; root.left = construct(inorder, inStart, position - 1, postorder, postStart, postStart + leftLength - 1);//be careful about the index root.right = construct(inorder, position + 1, inEnd, postorder, postStart + leftLength, postEnd - 1); 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
- 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
- [leetcode]Construct Binary Tree from Inorder and Postorder Traversal
- Construct Binary Tree from Inorder and Postorder Traversal
- linux -- Ubuntu安装TFTP服务器
- 使用Android-PickerView实现地址选择器时间选择器
- 当编程语言都变成女孩子 猿哥想想都觉得冲动
- activity启动模式详解
- xrandr: Failed to get size of gamma for output default
- Construct Binary Tree from Inorder and Postorder Traversal
- Java垃圾收集器
- mysql 创建日历表
- 【LeetCode】 160. Intersection of Two Linked Lists
- 理解PHP内核之环境搭建
- PHPunit快速入门
- CentOS6+ANT编译环境_和ant的一些属性
- eclipse反编译
- 大牛直播十万个为什么