[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记录每一层的最后一个数字。

相关推荐
木子.李3474 分钟前
数据结构-算法C++(额外问题汇总)
数据结构·c++·算法
花心蝴蝶.25 分钟前
API签名认证算法全解析
算法
兮山与32 分钟前
算法6.0
算法
代码对我眨眼睛32 分钟前
739. 每日温度 LeetCode 热题 HOT 100
算法·leetcode
嫂子的姐夫1 小时前
11-py调用js
javascript·爬虫·python·网络爬虫·爬山算法
程序员莫小特1 小时前
老题新解|计算2的N次方
开发语言·数据结构·算法·青少年编程·信息学奥赛一本通
图亚Vanta2 小时前
Python入门第一课:Python安装、VSCode/Pycharm配置
vscode·python·pycharm
睿思达DBA_WGX2 小时前
使用 python-docx 库操作 word 文档(2):在word文档中插入各种内容
python·word
wearegogog1232 小时前
基于块匹配的MATLAB视频去抖动算法
算法·matlab·音视频
kunge1v53 小时前
学习爬虫第五天:自动化爬虫
爬虫·python·自动化