以下函数 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
满二叉树
完全二叉树
二叉搜索树
平衡二叉树