题解 | #重建二叉树#

重建二叉树

http://www.nowcoder.com/practice/8a19cbe657394eeaac2f6ea9b0f6fcf6

递归,参考:
/**

  • Definition for binary tree

  • public class TreeNode {

  • int val;

  • TreeNode left;

  • TreeNode right;

  • TreeNode(int x) { val = x; }

  • }

  • /
    import java.util.Arrays;
    public class Solution {
    public TreeNode reConstructBinaryTree(int [] pre,int [] vin) {

      if(pre.length==0||vin.length==0) return null;
      TreeNode root = new TreeNode(pre[0]);
      for(int i=0 ;i<pre.length;i++){
          if(vin[i] == pre[0]){
          root.left = reConstructBinaryTree(Arrays.copyOfRange(pre,1,i+1),
                                Arrays.copyOfRange(vin,0,i));
          root.right = reConstructBinaryTree(Arrays.copyOfRange(pre,i+1,pre.length),
                                            Arrays.copyOfRange(vin,i+1,vin.length));
         break;
      }
    }
      return root;

    }
    }

全部评论

相关推荐

2025-12-14 11:43
黑龙江大学 Java
用微笑面对困难:确实比较烂,可以这么修改:加上大学的qs排名,然后大学简介要写一些,然后硕士大学加大加粗,科研经历第一句话都写上在复旦大学时,主要负责xxxx,简历左上角把学校logo写上,建议用复旦大学的简历模板
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务