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

相关推荐

12-24 20:46
武汉大学 Java
点赞 评论 收藏
分享
程序员流年:真的别再用外卖+点评了。真的找小厂也费劲,如果你碰壁了可以看我主页,换个好项目,再去试试,给自己找找亮点
点赞 评论 收藏
分享
11-03 13:18
门头沟学院 Java
包行:平时怎么刷算法题的哇,字节的手撕听说都很难
字节跳动工作体验
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务