重建二叉树

递归。

 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;

    }


全部评论

相关推荐

仁者伍敌:牛子这些人还会点一个自动回复,boss都不带回复的
点赞 评论 收藏
分享
“校招”、“3-5年经验”
xiaolihuam...:逆向工程不是搞外挂的吗,好像现在大学生坐牢最多的就是诈骗罪和非法侵入计算机系统罪,发美金,还居家办公,就是怕被一锅端,
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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