[LeetCode]199.二叉树的右视图(python)

1.代码

python 复制代码
# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:
    def rightSideView(self, root: Optional[TreeNode]) -> List[int]:
        result1: List[int] = []
        i = 0
        queue = deque()
        result : List[List[int]] = []
        if root==None:
            return result
        queue.append(root)
        while(queue):
            length = len(queue)
            result.append([])
            for j in range (length):
                item = queue.popleft()
                if item.left:
                    queue.append(item.left)
                if item.right:
                    queue.append(item.right)
                result[i].append(item.val)
            i=i+1
        for item in result:
            result1.append(item[len(item)-1])
        return result1

2.思路

首先用result记录层次遍历的结果(见[LeetCode]102.二叉树的层序遍历(python)-CSDN博客),然后用result1记录每一层的最后一个数字。

相关推荐
Cloud_Shy6185 分钟前
Python 数据分析基础入门:《Excel Python:飞速搞定数据分析与处理》学习笔记系列(第八章 使用读写包操作 Excel 文件 上篇)
python·数据分析·excel·pandas
阿旭超级学得完16 分钟前
C++11包装器(function和bind)
java·开发语言·c++·算法·哈希算法·散列表
輕華17 分钟前
uv工具详解——Python包与项目管理器完全指南
开发语言·python·uv
li星野18 分钟前
位运算 & 数学 & 高频进阶九题通关(Python + C++)
c++·python·学习·算法
用户83562907805120 分钟前
使用 Python 在 PowerPoint 中添加并控制音频播放
后端·python
jerryinwuhan22 分钟前
hello算法,简单讲(1)
算法·排序算法
y = xⁿ24 分钟前
20天速通LeetCodeday15:BFS广度优先搜索
算法·宽度优先
2303_8212873825 分钟前
如何清洗SQL输入数据_使用框架内置的ORM处理数据交互
jvm·数据库·python
400分28 分钟前
吃透RAG核心-----语义检索与关键字检索底层原理
算法·架构
go不是csgo28 分钟前
s01 搭建第一个对话智能体
服务器·网络·python·ai