本文共 731 字,大约阅读时间需要 2 分钟。
这道题要求返回的是每一层的最后一个元素,既然提到了层,想必就是层次遍历了,采用层序遍历递归写法。
层次遍历代码需要抽象出来,牢牢记住了。# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution(object): def rightSideView(self, root): """ :type root: TreeNode :rtype: List[int] """ res = [] self.levelOrder(root,0,res) return [level[-1] for level in res] def levelOrder(self,root,level,res): if not root: return if level == len(res): res.append([]) res[level].append(root.val) self.levelOrder(root.left,level+1,res) self.levelOrder(root.right,level+1,res)