设计师推荐网站,网站建设评语,讯展网站优化推广,phpcms安装教程解题思路: 1.首先写一个返回深度的函数d 2.写一个遍历函数t 3.在t中首先判断,r是否为空(为空则此时就是平衡二叉树,返回true),然后判断是否为叶子节点(r.left null r.right null)若是则返回true,最后判断,其左子树的深度与右子树的深度之差是否大于1.若是则返回fal… 解题思路: 1.首先写一个返回深度的函数d 2.写一个遍历函数t 3.在t中首先判断,r是否为空(为空则此时就是平衡二叉树,返回true),然后判断是否为叶子节点(r.left null r.right null)若是则返回true,最后判断,其左子树的深度与右子树的深度之差是否大于1.若是则返回false 4.到了这里,则对r的左右子树分别调用t,返回其左右子树的与()关系
/*** Definition for a binary tree node.* function TreeNode(val) {* this.val val;* this.left this.right null;* }*/
/*** param {TreeNode} root* return {boolean}*/
var isBalanced function(root) {function d(r){if(!r) return 0if(r.left null r.right null) return 1return Math.max(d(r.left),d(r.right)) 1} function t(r){if(!r) return trueif(r.left null r.right null) return trueif(d(r.left) - d(r.right) 1 || d(r.right) - d(r.left) 1 ) return falsereturn t(r.left) t(r.right)}return t(root)
};