zoukankan      html  css  js  c++  java
  • leetcode——105. 从前序与中序遍历序列构造二叉树

    这道题做得比较顺利,但是效果并不是很好

    public TreeNode buildTree(int[] preorder, int[] inorder) {
            if(preorder.length == 0){
                return null;
            }
            if(preorder.length == 1){
                return new TreeNode(preorder[0]);
            }else{
                int m = 0;
                TreeNode root = new TreeNode(preorder[0]);
                for(int i = 0;i<inorder.length;i++){
                    if(inorder[i] == preorder[0]){
                        m = i;   //在中序遍历中找到根节点的位置
                        break;
                    }
                }
                int[] a = Arrays.copyOfRange(inorder,0,m);
                int[] b = Arrays.copyOfRange(inorder,m+1,inorder.length);
                int[] c = Arrays.copyOfRange(preorder,1,1+m);
                int[] d = Arrays.copyOfRange(preorder,m+1,preorder.length);
                root.left = buildTree(c,a);
                root.right = buildTree(d,b);
                return root;
            }

    我的前方是万里征途,星辰大海!!
  • 相关阅读:
    59
    58
    57
    56
    55
    54
    53
    转 Using $.ajaxPrefilter() To Configure AJAX Requests In jQuery 1.5
    jquery用正则表达式验证密码强度
    什么是高内聚、低耦合?(转载)
  • 原文地址:https://www.cnblogs.com/taoyuxin/p/13175285.html
Copyright © 2011-2022 走看看