给定一个二叉树的 根节点
root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。示例 1:
**输入:**root = [1,2,3,null,5,null,4]
输出:[1,3,4]
解释:
优先走右子树,记录层数,每层只存第一个碰到的节点
python
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
