题解 | #重建二叉树#

重建二叉树

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

import java.util.*;

/*
 * public class TreeNode {
 *   int val = 0;
 *   TreeNode left = null;
 *   TreeNode right = null;
 *   public TreeNode(int val) {
 *     this.val = val;
 *   }
 * }
 */

public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param preOrder int整型一维数组 
     * @param vinOrder int整型一维数组 
     * @return TreeNode类
     */
    public TreeNode reConstructBinaryTree (int[] preOrder, int[] vinOrder) {
        // write code here
        if(preOrder.length==0){
            return null;
        }
        
        
        return getResult(preOrder,vinOrder);
    }

    private TreeNode getResult(int[] preOrder, int[] vinOrder) {
        // TODO
        if(preOrder.length==0){
            return null;
        }
        TreeNode root = new TreeNode(preOrder[0]);
        int middle = root.val;
        int length_left = 0;
        int length_right = 0;
        boolean mid = false;
        for(int i = 0; i < vinOrder.length; length_left++, i++){
            if(vinOrder[i] == root.val){
                mid = true;
                break;
            }
        }
        length_right = vinOrder.length-1-length_left;
        int preleft[] = new int[length_left];
        int vinleft[] = new int[length_left];
        int preright[] = new int[length_right];
        int vinright[] = new int[length_right];
        for(int i = 0; i < length_left; i++){
            preleft[i] = preOrder[i+1];
            vinleft[i] = vinOrder[i];
        }
        for(int i = 0; i < length_right; i++){
            preright[i] = preOrder[length_left+i+1];
            vinright[i] = vinOrder[length_left+i+1];
        }
        root.left = getResult(preleft,vinleft);
        root.right = getResult(preright,vinright);
        return root;

    }
}

全部评论

相关推荐

兄弟们你们进大厂靠的是什么项目啊
DOTPHTP:课设改。其实项目什么的如果不是实习里面的生产项目的话,建议✍️那种自己想要做的。突出个人自驱力,而不是为了找工作不得不随波逐流这种
点赞 评论 收藏
分享
05-26 10:24
门头沟学院 Java
qq乃乃好喝到咩噗茶:其实是对的,线上面试容易被人当野怪刷了
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
05-01 13:13
ecece:这么明目张胆虚报就业率啊
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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