您当前的位置: 首页 >  Python

Better Bench

暂无认证

  • 4浏览

    0关注

    695博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【Leetcode刷题Python】199. 二叉树的右视图

Better Bench 发布时间:2022-08-07 20:04:58 ,浏览量:4

1 题目

给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 在这里插入图片描述

示例 1:

输入: [1,2,3,null,5,null,4] 输出: [1,3,4]

示例 2:

输入: [1,null,3] 输出: [1,3]

示例 3:

输入: []

2 解析

我们按照 「根结点 -> 右子树 -> 左子树」 的顺序访问, 就可以保证每层都是最先访问最右边的节点的。

3 Python实现
class Solution:
    def rightSideView(self, root: Optional[TreeNode]) -> List[int]:
        def dfs(node,level):
            if not node:
                return 
            if level ==len(res):
                res.append(node.val)
            # if node.right:
            dfs(node.right,level+1)
            # if node.left:
            dfs(node.left,level+1)
        res = []
        dfs(root,0)
        return res

关注
打赏
1665674626
查看更多评论
立即登录/注册

微信扫码登录

0.1431s