重建二叉树

递归。

 public TreeNode reConstructBinaryTree(int [] pre,int [] vin) {
       int m= pre.length;
       int n= vin.length;
       if(m==0||n==0) return null;
       TreeNode root=new TreeNode(pre[0]);
       for (int i=0;i<vin.length;i++){
           if(pre[0]==vin[i]){
               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;

    }


全部评论

相关推荐

孤寡孤寡的牛牛很热情:为什么我2本9硕投了很多,都是简历或者挂,难道那个恶心人的测评真的得认真做吗
点赞 评论 收藏
分享
预计下个星期就能开奖吧,哪位老哥来给个准信
华孝子爱信等:对接人上周说的是这周
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务