题目描述
给定一个二叉树,返回该二叉树层序遍历的结果,(从左到右,一层一层地遍历)
例如:
给定的二叉树是{3,9,20,15,7},
该二叉树层序遍历的结果是
[
[3],
[9,20],
[15,7]
]
示例1
输入: {1,2}
返回值: [[1],[2]]
示例2
输入: {1,2,3,4,5}
返回值: [[1],[2,3],[4,5]]
解题思路:重点是如何把在一层的节点放到一起,设置一个参数专门放一层的节点
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
#
#
# @param root TreeNode类
# @return int整型二维数组
#
class Solution:
def levelOrder(self , root ):
# write code here
if not root:
return []
cur = [root]
node = []
res = []
while cur:
for i in cur:
if i.left:
node.append(i.left)
elif i.right:
node.append(i.right)
res.append([i.val for i in cur])
cur, node = node, []
return res