题目分析:
给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。例如:
给定二叉树: [3,9,20,null,null,15,7],

返回其层次遍历结果:
[[3],[9,20],[15,7]]
解题思路:
这一题的本质还是遍历,使用递归进行遍历。关键就是用一个变量去储存当前层数res[level].append(root.val) 。
提交代码:(递归,Runtime: 36 ms, faster than 99.39% )
class Solution:
def preorder(self, root, level, res):
if root:
if len(res) < level + 1: res.append([])
res[level].append(root.val)
self.preorder(root.left, level + 1, res)
self.preorder(root.right, level + 1, res)
def levelOrder(self, root):
res = []
self.preorder(root, 0, res)
return res
博客围绕二叉树层次遍历问题展开,给出示例二叉树及层次遍历结果。解题采用递归方法,关键是用变量储存当前层数,还给出了递归提交代码,运行时间快,超越99.39%。
308

被折叠的 条评论
为什么被折叠?



