題目:
思路+代碼:
class Solution:
def levelOrder(self, root: TreeNode) -> List[List[int]]:
# 思路:層序遍歷二叉樹分開保存每一層的節點值,初始化res:輸出保存列表;nodel_list是保存節點列表,列表內容更新來自於每一層
# layer_nodel列表;layer_val 保存每一層值;
if not root:
return []
res = []
node_list = []
node_list.append(root)
while node_list:
layer_val = []
layer_node = []
while node_list:
node = node_list.pop(0)
layer_val.append(node.val)
if node.left: layer_node.append(node.left)
if node.right: layer_node.append(node.right)
node_list.extend(layer_node)
res.append(layer_val)
return res