# 广度优先搜索(BFS)
class Solution:
def maxDepth(self, root: Optional[TreeNode]) -> int:
if not root: # 空树
return 0
queue = [root]
height = 0
while queue:
n = len(queue)
for i in range(n):
node = queue.pop(0)
if node.left:
queue.append(node.left)
if node.right:
queue.append(node.right)
height += 1
return height