测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A18754. 以下函数 check() 用于判断一棵二叉树是否为( )。from collections import deque class TreeNode: def __init__(self, val=0, left=None, right=None): self.val = val self.left = left self.right = right def check(root): if not…

单选题 困难

题目描述

以下函数 check() 用于判断一棵二叉树是否为(    )。

from collections import deque

class TreeNode:
    def __init__(self, val=0, left=None, right=None):
        self.val = val
        self.left = left
        self.right = right
        
def check(root):
    if not root:
        return True
        
    q = deque()
    q.append(root)
    has_null = False
    
    while q:
        cur = q.popleft()
        
        if not cur:
            has_null = True
        else:
            if has_null:
                return False
            q.append(cur.left)
            q.append(cur.right)
    return True

选项(单选)

上一题 下一题