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); }
4 9

相关推荐

11-01 20:03
已编辑
门头沟学院 算法工程师
Amazarashi66:这种也是幸存者偏差了,拿不到这个价的才是大多数
点赞 评论 收藏
分享
牛客网
牛客企业服务