题解 | #判断是不是完全二叉树#
判断是不是完全二叉树
https://www.nowcoder.com/practice/8daa4dff9e36409abba2adbe413d6fae
# class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param root TreeNode类 # @return bool布尔型 # class Solution: def isCompleteTree(self , root: TreeNode) -> bool: if not root: return False q = [root] while q: n = len(q) for _ in range(n): # 从队头出栈,保证是从左到右出栈 node = q.pop(0) if not node: # 如果出栈出来的节点是空,则表明当前已经到了底层 if len(q) > 0: # 到了底层则队列中剩余的节点只能都是空节点 for i in q: if i: return False return True else: return True # 不管子节点是否是空,都入到队列中 q.append(node.left) q.append(node.right)