update: 平衡二叉树js版本格式化

This commit is contained in:
mengyuan
2021-11-22 20:04:35 +08:00
parent 6598443445
commit 434ba4ed39

View File

@ -606,29 +606,23 @@ func abs(a int)int{
## JavaScript ## JavaScript
```javascript ```javascript
var isBalanced = function(root) { var isBalanced = function(root) {
//还是用递归三部曲 + 后序遍历 左右中 当前左子树右子树高度相差大于1就返回-1 //还是用递归三部曲 + 后序遍历 左右中 当前左子树右子树高度相差大于1就返回-1
// 1. 确定递归函数参数以及返回值 // 1. 确定递归函数参数以及返回值
const getDepth=function(node){ const getDepth = function(node) {
// 2. 确定递归函数终止条件 // 2. 确定递归函数终止条件
if(node===null){ if(node === null) return 0;
return 0; // 3. 确定单层递归逻辑
let leftDepth = getDepth(node.left); //左子树高度
let rightDepth = getDepth(node.right); //右子树高度
if(leftDepth === -1) return -1;
if(rightDepth === -1) return -1;
if(Math.abs(leftDepth - rightDepth) > 1) {
return -1;
} else {
return 1 + Math.max(leftDepth, rightDepth);
} }
// 3. 确定单层递归逻辑
let leftDepth=getDepth(node.left);//左子树高度
if(leftDepth===-1){
return -1;
} }
let rightDepth=getDepth(node.right);//右子树高度 return !(getDepth(root) === -1);
if(rightDepth===-1){
return -1;
}
if(Math.abs(leftDepth-rightDepth)>1){
return -1;
}else{
return 1+Math.max(leftDepth,rightDepth);
}
}
return getDepth(root)===-1?false:true;
}; };
``` ```