public static int digui(List<Integer> tree, int n, boolean t){         if(tree.isEmpty()){             return 0;         }         List<Integer> left = new ArrayList<>();         List<Integer> right = new ArrayList<>();         int root = tree.get(0);         int length = tree.size();         for(int i = 1; i < length; i++){             int cur = tree.get(i);             if(cur < root){                 left.add(cur);             }else{                 right.add(cur);             }         }         int leftN = digui(left, n, true);         int rightN = digui(right, n, false); //        int height = Math.max(leftN, rightN) + 1;         if(Math.max(leftN, rightN) - Math.min(leftN, rightN) >= n || leftN == -1 || rightN == -1){             return -1;         }else{             if(t){                 return leftN + 1;             }else{                 return rightN + 1;             }         }     } 第二题核心代码这样写的,不知道哪里错了,完整代码在我帖子里,有大佬可以看看嘛?