JZX轻语:简
LeetCode 958 - 二叉树的完全性检验
发表于2024年05月29日
不难得知,当对完全二叉树进行层次遍历时,其结果构造为连续的非空节点+连续的空节点
。使用队列对二叉树进行层次遍历,直到遇到第一个空节点。随后检查队列里面剩余的节点,如果全是是空节点则为True
,否则返回False
。
from collections import deque
class Solution:
def isCompleteTree(self, root: Optional[TreeNode]) -> bool:
q = deque([root])
while q:
node = q.popleft()
if node is None:
break
q.append(node.left)
q.append(node.right)
return all(item is None for item in q)