leetcode刷题python199.二叉树的右视图(代码片段)

BetterBench BetterBench     2022-11-30     337

关键词:

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

leetcode199二叉树的右视图(代码片段)

一.问题描述给定一个二叉树的根节点root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。输入:[1,2,3,null,5,null,4]输出:[1,3,4]二.示例代码publicclassBSTRightView199publicstaticvoidmain(String[]args)... 查看详情

leetcode刷题笔记-数据结构-day16(代码片段)

文章目录LeetCode刷题笔记-数据结构-day16199.二叉树的右视图1.题目描述2.解题思路3.代码113.路径总和II1.题目描述2.解题思路3.代码450.删除二叉搜索树中的节点1.题目描述2.解题思路3.代码LeetCode刷题笔记-数据结构-day16199.二叉树的右视... 查看详情

199.二叉树的右视图(代码片段)

...目算法设计:深度优先搜索 题目传送门:https://leetcode.cn/problems/binary-tree-right-side-view/ 算法设计:深度优先搜索一开始我以为只需要获取根节点、所有右节点即可,那就只需要右序遍历。从右边看到的第一个节点... 查看详情

199.二叉树的右视图

  很简单,来个层次遍历,当遍历队列,遍历到刚开始遍历时,队列里最后一个数时(也就是遍历len-1次),得到的就是右视图的其中一个节点/***Definitionforabinarytreenode.*publicclassTreeNode*intval;*TreeNodeleft;*TreeNoderight;*TreeNode(int... 查看详情

leetcodeno.199二叉树的右视图

一、题目描述给定一个二叉树的根节点root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。示例1:输入: [1,2,3,null,5,null,4]输出: [1,3,4]示例2:输入: [1,null,3]输出: [1,3]示例3:输入: ... 查看详情

leetcode刷题python104.二叉树的最大深度(代码片段)

1题目给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明:叶子节点是指没有子节点的节点。示例:给定二叉树[3,9,20,null,null,15,7],3/920/157返回它的最大深度3。2解析... 查看详情

leetcode刷题python222.完全二叉树的节点个数(代码片段)

1题目给你一棵完全二叉树的根节点root,求出该树的节点个数。完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最... 查看详情

leetcode刷题python257.二叉树的所有路径(代码片段)

1题目给你一个二叉树的根节点root,按任意顺序,返回所有从根节点到叶子节点的路径。叶子节点是指没有子节点的节点。示例1:输入:root=[1,2,3,null,5]输出:[“1->2->5”,“1->3”]示例2:输入:... 查看详情

leetcode刷题python102.二叉树的层序遍历(代码片段)

1题目给你二叉树的根节点root,返回其节点值的层序遍历。(即逐层地,从左到右访问所有节点)。示例1:输入:root=[3,9,20,null,null,15,7]输出:[[3],[9,20],[15,7]]示例2:输入:root=[1]输出: 查看详情

leetcode刷题python111.二叉树的最小深度(代码片段)

1题目给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明:叶子节点是指没有子节点的节点。示例1:输入:root=[3,9,20,null,null,15,7]输出:2示例2:输入... 查看详情

leetcode刷题python94.二叉树的中序遍历(代码片段)

1题目给定一个二叉树的根节点root,返回它的中序遍历。示例1:输入:root=[1,null,2,3]输出:[1,3,2]示例2:输入:root=[]输出:[]示例3:输入:root=[1]输出:[1]2解析简单,略3P 查看详情

leetcode刷题python145.二叉树的后序遍历(代码片段)

1题目给你一棵二叉树的根节点root,返回其节点值的后序遍历。示例1:输入:root=[1,null,2,3]输出:[3,2,1]示例2:输入:root=[]输出:[]示例3:输入:root=[1]输出:[1]2解析简单, 查看详情

leetcode刷题python144.二叉树的前序遍历(代码片段)

1题目给你二叉树的根节点root,返回它节点值的前序遍历。示例1:输入:root=[1,null,2,3]输出:[1,2,3]示例2:输入:root=[]输出:[]示例3:输入:root=[1]输出:[1]2解析这题太简单, 查看详情

199.二叉树的右视图(代码片段)

...目算法设计:深度优先搜索 题目传送门:https://leetcode.cn/problems/binary-tree-right-side-view/ 算法设计:深度优先搜索一开始我以为只需要获取根节点、所有右节点即可,那就只需要右序遍历。从右边看到的第一个节点... 查看详情

[javascript刷题]搜索-二叉树的层序遍历,leetcode102

[JavaScript刷题]搜索-二叉树的层序遍历,leetcode102githubrepo地址:https://github.com/GoldenaArcher/js_leetcode,Github的目录大概会更新的更勤快一些。题目地址:102.BinaryTreeLevelOrderTraversal题目如下:Giventherootofabinar 查看详情

leetcode刷题python103.二叉树的锯齿形层序遍历(代码片段)

1题目给你二叉树的根节点root,返回其节点值的锯齿形层序遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。示例1:输入:root=[3,9,20,null,null,15,7]输出࿱... 查看详情

leetcode刷题模版:101-110

目录简介101.对称二叉树102.二叉树的层序遍历103.二叉树的锯齿形层序遍历104.二叉树的最大深度105.从前序与中序遍历序列构造二叉树106.从中序与后序遍历序列构造二叉树107.二叉树的层序遍历II108.将有序数组转换为二叉搜索树109.... 查看详情

199.二叉树的右视图

  很简单,来个层次遍历,当遍历队列,遍历到刚开始遍历时,队列里最后一个数时(也就是遍历len-1次),得到的就是右视图的其中一个节点/***Definitionforabinarytreenode.*publicclassTreeNode*intval;*TreeNodeleft;*TreeNoderight;*TreeNode(int... 查看详情