摘要:层序遍历的代码很基础。由于层序遍历符合「先进先出、后进后出」的规律,因此需要借助「队列」实现。代码不需要记忆,写多了就记住了。
Python 代码:
class TreeNode:
def __init__(self, x):
self.val = x
self.left = None
self.right = None
class Solution:
def levelOrder(self, root):
res = []
if root is None:
return res
queue = [root]
while queue:
size = len(queue)
cur = []
for _ in range(size):
top = queue.pop(0)
cur.append(top.val)
if top.left:
queue.append(top.left)
if top.right:
queue.append(top.right)
res.append(cur)
return res