AC了 第一题前缀和保存在列表里,对1到L的每个n判断:遍历列表中的每个前缀和prefix, prefix+n在不在列表里; 第二题 初始化root之后建树,再之后递归判断每个节点的isBalance() ,也挺简单的。 // 建树 static TreeNode build(TreeNode root, int val){         if(root == null) return new TreeNode(val);         if(root.val > val) root.left = build(root.left, val);         else root.right = build(root.right, val);         return root;     } // 判断 static boolean isBalance(TreeNode root, int N){         if(root == null) return true;         int left = 0, right = 0;         TreeNode node = root;         while(node.left != null){             node = node.left;             left++;         }         node = root;         while (node.right != null){             node = node.right;             right++;         }         return Math.abs(left - right) <= Math.min(11, N) && isBalance(root.left, N) && isBalance(root.right, N);     }