给你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。
完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~ 2h 个节点。
var countNodes = function(root) {
if(!root) return 0
let h =0 ;
let temp = [root], next= [];
while(1){
next = []
for(const node of temp){
node.right && next.push(node.right)
node.left && next.push(node.left)
}
if(temp.length *2 > next.length ){
break
}
temp =next ;
}
console.log(temp, next)
return temp.length *2 -1 + next.length
};