Given a complete binary tree, count the number of nodes.
Note:
Definition of a complete binary tree from Wikipedia:
In a complete binary tree every level, except possibly the last, is completely filled, and all nodes in the last level are as far left as possible. It can have between 1 and 2h nodes inclusive at the last level h.
Example:
Input: 1 / \ 2 3 / \ / 4 5 6 Output: 6
有很多种方法,直接用bfs算法统计每层个数即可。
class Solution:
def countNodes(self, root: TreeNode) -> int:
if root is None:return 0
bfs=[root]
sums=0
while bfs:
sums+=len(bfs)
temp=[]
for node in bfs:
if node.left:
temp.append(node.left)
if node.right:
temp.append(node.right)
bfs=temp
return sums