题目描述
从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。
Solution
使用两个栈保存当前行和下一行要访问的节点。
class Solution:
def levelOrder(self, root: TreeNode) -> List[List[int]]:
if not root: return []
res, queue, = [], []
queue.append(root)
while queue:
tmp, queue_next = [], []
for node in queue:
tmp.append(node.val)
if node.left: queue_next.append(node.left)
if node.right: queue_next.append(node.right)
queue = queue_next
res.append(tmp[:])
return res