Construct Binary Tree from Preorder and Inorder Traversal
来源:互联网 发布:网络摄像机ip修改器 编辑:程序博客网 时间:2024/06/08 15:59
Given preorder and inorder 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[] preorder, int[] inorder) { if(preorder==null && inorder==null) return null; if(preorder.length<=0 && inorder.length<=0) return null; return buildCore(preorder,0,preorder.length-1,inorder,0,inorder.length-1); } public TreeNode buildCore(int[] preorder,int preBegin,int preEnd,int[] inorder,int inBegin,int inEnd){ int rootVal=preorder[preBegin]; TreeNode node=new TreeNode(rootVal); if(preBegin==preEnd){ if(inBegin==inEnd){ return node; } } int index; for(index=inBegin;index<=inEnd;index++){ if(inorder[index]==rootVal) break; } if(index>inEnd) return null; int lenLeft=index-inBegin; if(lenLeft>0){ node.left=buildCore(preorder,preBegin+1,preBegin+lenLeft,inorder,inBegin,index-1); } if(preBegin+lenLeft<preEnd){ node.right=buildCore(preorder,preBegin+lenLeft+1,preEnd,inorder,index+1,inEnd); } return node; }}
0 0
- *(leetcode) Construct Binary Tree from Preorder and Inorder Traversal (tree)
- LeetCode[Tree]: Construct Binary Tree from Preorder and Inorder Traversal
- [leetcode][tree] Construct Binary Tree from Preorder and Inorder Traversal
- Construct Binary Tree from Preorder and Inorder Traversal & Construct Binary Tree from Inorder and P
- LeetCode: Construct Binary Tree from Preorder and Inorder Traversal
- Construct Binary Tree from Preorder and Inorder Traversal
- [LeetCode]Construct Binary Tree from Preorder and Inorder Traversal
- LeetCode Construct Binary Tree from Preorder and Inorder Traversal
- [Leetcode] Construct Binary Tree from Preorder and Inorder Traversal
- Leetcode: Construct Binary Tree from Preorder and Inorder Traversal
- [LeetCode] Construct Binary Tree from Preorder and Inorder Traversal
- LeetCode Construct Binary Tree from Preorder and Inorder Traversal
- leetcode 109: Construct Binary Tree from Preorder and Inorder Traversal
- 【leetcode】Construct Binary Tree from Preorder and Inorder Traversal
- Construct Binary Tree from Preorder and Inorder Traversal
- Construct Binary Tree from Preorder and Inorder Traversal
- [LeetCode]Construct Binary Tree from Preorder and Inorder Traversal
- Construct Binary Tree from Preorder and Inorder Traversal
- IPC
- Java中的栈
- 在Ubuntu上下载、编译和安装Android最新源代码
- 学习笔记_JFrame的一些使用(1)
- leetcode 虐我篇之(八)Reverse Integer
- Construct Binary Tree from Preorder and Inorder Traversal
- 杭电ACM 2032杨辉三角----20140731
- history命令
- 元组Tuple浅析
- Java文件操作pathSeparator、 pathSeparatorChar、 separator、 separatorChar四者的区别及字节流与字符流
- windows下JAVA环境变量配置
- 反转链表
- android的消息处理机制(图+源码分析)——Looper,Handler,Message
- TCP:传输控制协议详解