var countNodes = function(root) {
if(root===null){
return 0
}
let left=root.left
let right=root.right
let len1=0 //左子树的深度初始化
let len2=0 //右子树的深度初始化
while(left){
left=left.left
len1++
}
while(right){
right=right.right
len2++
}
//满二叉树
if(len1==len2){
return Math.pow(2,len1+1)-1
}
//如果不是满二叉树,则分开查找到每个子树的满二叉树(注意加上根节点)
return countNodes(root.left)+countNodes(root.right)+1
};
力扣222. 完全二叉树的节点个数(JavaScript)
最新推荐文章于 2025-05-29 15:45:00 发布