104和111题见前一天
222.完全二叉树的节点个数
题目简述:
给你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。
完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~ 2^h 个节点。
思路:
同昨天利用层序遍历实现
代码如下:
class Solution: def countNodes(self, root: Optional[TreeNode]) -> int: results=0 if not root: return results que=collections.deque([root]) while que: n=len(que) results+=n for i in range(n): cur=que.popleft() if cur.left: que.append(cur.left) if cur.right: que.append(cur.right) return results
递归解法以后再补
标签:cur,results,222,day16,que,二叉树,root,节点 From: https://www.cnblogs.com/cp1999/p/17281374.html