给定一个二叉树的根节点
root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。示例 1:
输入:root = [1,2,3,null,5,null,4]
输出:[1,3,4]
解释:
优先走右子树,记录层数,每层只存第一个碰到的节点
class Solution: def rightSideView(self, root: Optional[TreeNode]) -> List[int]: res = [] def dfs(node, depth): if not node: return if depth == len(res): res.append(node.val) dfs(node.right, depth+1) dfs(node.left, depth+1) dfs(root, 0) return res