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)
最新推荐文章于 2024-10-12 23:06:01 发布
该博客探讨了一个JavaScript函数,用于计算给定二叉树中节点的数量。它首先检查根节点是否为空,然后分别计算左子树和右子树的深度。如果树是满二叉树,它直接返回节点数;否则,递归地计算左右子树的节点并加上根节点。
摘要由CSDN通过智能技术生成