给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。
如: 给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回其层次遍历结果: [ [3], [9,20], [15,7] ]
# Definition for a binary tree node. # class TreeNode(object): # def __init__(self, x): # self.val = x # self.left = None # self.right = None class Solution(object): def levelOrder(self, root): """ :type root: TreeNode :rtype: List[List[int]] """ if root is None: return [] layer = [root] res = [] while len(layer): current=[] #存取元素值 nextl=[] #存取元素 for x in layer: current.append(x.val) if x.left: nextl.append(x.left) if x.right: nextl.append(x.right) res.append(current) layer=nextl return res