LeetCode 106. Construct Binary Tree from Inorder and Postorder Traversal
来源:互联网 发布:mac用的office 编辑:程序博客网 时间:2024/06/07 11: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.
解题思路:这题和105的解题思路类似,主要区别在于:将先序遍历换成后续后,根节点将是每部分孩子节点的最后一个节点,所以只需要改变的只是根节点在遍历数组中的下标。首先得到树的根节点后,在中序数组中区分左右孩子节点,然后计算左右孩子节点的个数,找到左右孩子的根节点在后续遍历数组中的下标。
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution { public TreeNode buildTree(int[] inorder, int[] postorder) { TreeNode root=null; if(inorder.length==postorder.length){ if(inorder.length>=0) root= helper(postorder,postorder.length-1,inorder,0,inorder.length); } return root; } public TreeNode helper(int[] postorder,int index,int [] inorder,int start,int end){ if(index>= postorder.length || index <0 || start >=end){ return null; }else{ TreeNode root =new TreeNode(postorder[index]); int median =0; for(int i=start;i<end;i++){ if(postorder[index]==inorder[i]){ median = i; break; } } root.left=helper(postorder,index-end+median,inorder,start,median); root.right=helper(postorder,index-1,inorder,median+1,end); return root; } }}
阅读全文
0 0
- 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
- 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
- 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
- 令人振奋的Class(下):继承和实战代码示例
- 关于Mongodb的操作
- HDFS分布式文件系统
- 解决 Bash On Windows 无法下载(慢)
- ElasticSearch Java Api(四) -删除索引
- LeetCode 106. Construct Binary Tree from Inorder and Postorder Traversal
- Android四大组件及Intent
- POI 自定义16进制颜色导出
- LeetCode
- 经典问题a+=b和a=a+b
- Torch
- MFC模态对话框和非模态对话框及副窗口调用主窗口控件 自定义消息发送
- 关于弱网测试的一些要点,供测试的朋友们进行参考
- SIGHUP