JZX轻语:简

LeetCode 958 - 二叉树的完全性检验

发表于2024年05月29日

#层次遍历 #BFS #队列

不难得知,当对完全二叉树进行层次遍历时,其结果构造为连续的非空节点+连续的空节点。使用队列对二叉树进行层次遍历,直到遇到第一个空节点。随后检查队列里面剩余的节点,如果全是是空节点则为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)

闪念标签:LC

题目链接:https://leetcode.cn/problems/check-completeness-of-a-binary-tree/