https://leetcode.com/problems/binary-tree-level-order-traversal/
很简单。
维护三个数组,ans存放答案,curQueue存放当前层需要遍历的结点,他们的子节点统一存放在nextQueue,当curQueue为空时,将nextStack的结点移入,同时ans开辟一个新的数组,nextQueue置空。
Python
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
def levelOrder(self, root: TreeNode) -> List[List[int]]:
if root == None:
return []
ans = [[]]
curQueue = [root]
nextQueue = []
while curQueue:
top = curQueue.pop(