题解 | #重建二叉树#

重建二叉树

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;

    }
    }

全部评论

相关推荐

程序员花海:实习和校招简历正确格式应该是教育背景+实习+项目经历+个人评价 其中项目经历注意要体现业务 实习经历里面的业务更是要自圆其说 简历模板尽可能保持干净整洁 不要太花哨的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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