加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

105. Construct Binary Tree from Preorder and Inorder Travers

发布时间:2020-12-14 03:47:29 所属栏目:大数据 来源:网络整理
导读:身体不好 ? ? ? 1 class Solution { 2 public TreeNode buildTree( int [] preorder, int [] inorder) { 3 return helper(0,inorder.length - 1 ,preorder,inorder); 4 5 } 6 7 public TreeNode helper( int preStart, int inStart, int inEnd, int [] preor

身体不好

?

?

?

 1 class Solution {
 2     public TreeNode buildTree(int[] preorder,int[] inorder) {
 3         return helper(0,inorder.length - 1,preorder,inorder);
 4         
 5     }
 6     
 7     public TreeNode helper(int preStart,int inStart,int inEnd,int[] preorder,int[] inorder) {
 8         if(preStart > preorder.length - 1 || inStart > inEnd) {
 9             return null;
10         }
11         TreeNode root = new TreeNode(preorder[preStart]);
12         int rootIndex = 0;
13         for(int i = inStart; i <= inEnd; i++) {  // i 不是 =0 是等于 = inStart
14             if(root.val == inorder[i]) {
15                 rootIndex = i;
16             }
17         }
18         root.left = helper(preStart + 1,inStart,rootIndex - 1,inorder);
19         root.right = helper(preStart + rootIndex - inStart + 1,rootIndex + 1,inEnd,inorder);
20         return root;
21     }
22 }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读