题解 | #判断是不是平衡二叉树#
判断是不是平衡二叉树
https://www.nowcoder.com/practice/8b3b95850edb4115918ecebdf1b4d222
/* * function TreeNode(x) { * this.val = x; * this.left = null; * this.right = null; * } */ /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param pRoot TreeNode类 * @return bool布尔型 */ function IsBalanced_Solution(pRoot) { // write code here if(pRoot==null) return true let l=deep(pRoot.left) let r=deep(pRoot.right); if(Math.abs(l-r)>1) return false //如果所有条件遍历过都满足,也就是说到根节点了所有返回结果都是true,结果就是平衡二叉树 return IsBalanced_Solution(pRoot.left) && IsBalanced_Solution(pRoot.right); } function deep(root){ return root==null ? 0 : Math.max(deep(root.left)+1,deep(root.right)+1) } module.exports = { IsBalanced_Solution: IsBalanced_Solution, };