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 is_complete_tree(root):
if root is None:
return True
q = deque()
q.append(root)
has_null = False
while q:
node = q.popleft()
if node is None:
has_null = True
else:
if has_null:
return False
q.append(node.left)
q.append(node.right)
return True