LeetCode(力扣)257. 二叉树的所有路径Python

news2024/11/23 3:23:25

LeetCode257. 二叉树的所有路径

    • 题目链接
    • 代码

题目链接

https://leetcode.cn/problems/binary-tree-paths/
在这里插入图片描述

代码

# 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 traversal(self, node, result, path):
        path.append(node.val)
        if not node.left and not node.right:
            spath = '->'.join(map(str, path))
            result.append(spath)
            return
        if node.left:
            self.traversal(node.left, result, path)
            path.pop()
        if node.right:
            self.traversal(node.right, result, path)
            path.pop()

    def binaryTreePaths(self, root: Optional[TreeNode]) -> List[str]:
        result = []
        path = []
        if not root:
            return None
        self.traversal(root, result, path)
        return result

# 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 traversal(self, node, result, path):
        path += str(node.val)
        if not node.left and not node.right:
            result.append(path)
            return
        if node.left:
            self.traversal(node.left, result, path + '->')
        if node.right:
            self.traversal(node.right, result, path + '->')

    def binaryTreePaths(self, root: Optional[TreeNode]) -> List[str]:
        result = []
        path = ''
        if not root:
            return None
        self.traversal(root, result, path)
        return result

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/892873.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ChatGPT成为工作工具,具体都应用在哪些地方?

Verified Market Research估计,到2030年,人工智能写作辅助软件市场将达到约65亿美元,复合年增长率为27%。生成式人工智能的浪潮正在席卷世界各地的营销部门。 Botco对美国1000名工作人员进行的调查发现,73%的人表示他们会利用生成…

IO流 详细介绍

一、IO流概述 1.IO:输入(Input读取数据)/输出(Output写数据) 2.流:是一种抽象概念,是对数据传输的总称,也就是说数据在设备间的传输称为流,流的本质是数据传输IO流就是用来处理设备间数据传输问题的。 3.常见的应用&#xff1a…

SQL两张表数据对比

表1: 表2: 1、查询两表的数据差异: # 查询表1中有但表2没有的数据 SELECT DATA FROM data1 WHERE ( DATA ) NOT IN ( SELECT DATA FROM data2 );# 查询表2中有但表…

MySQL系统变量 会话变量,用户变量

系统变量 分类 全局系统变量需要添加 global 关键字,有时把全局系统变量简称 全局变量 会话系统变量需要添加 session 关键字,有时也把会话系统变量称为 local 变量 局部变量 如果不写(global、session)默认会话级别。 静态变量在…

LeetCode[56]合并区间

难度:Medium 题目: 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。 示例 1&…

Practices11|41. 缺失的第一个正数(数组)、73. 矩阵置零(矩阵)

41. 缺失的第一个正数(数组) 1.题目: 给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 示例 1: 输入:nums [1,2,0] 输出&#xf…

用于智能图像处理的计算机视觉和 NLP

莫斯科,神秘之城...(这张照片由伊戈尔沙巴林提供) 一、说明 如今,每个拥有智能手机的人都可能成为摄影师。因此,每天都有大量新照片出现在社交媒体、网站、博客和个人照片库中。尽管拍照的过程可能非常令人兴奋&#x…

在ubuntu+cpolar+rabbitMQ环境下,实现mq服务端远程访问

文章目录 前言1.安装erlang 语言2.安装rabbitMQ3. 内网穿透3.1 安装cpolar内网穿透(支持一键自动安装脚本)3.2 创建HTTP隧道 4. 公网远程连接5.固定公网TCP地址5.1 保留一个固定的公网TCP端口地址5.2 配置固定公网TCP端口地址 前言 RabbitMQ是一个在 AMQP(高级消息队列协议)基…

零信任架构演进与实践:探讨零信任安全模型在不断发展的背景下的最新趋势和实际应用案例

随着信息技术的迅猛发展,企业的网络安全面临着日益复杂的挑战。传统的网络安全模型已经不再适用于如今的威胁环境,因此,零信任架构应运而生。零信任安全模型基于"从内部出发,不信任网络,不信任用户"的理念&a…

FirmAE 工具安装(解决克隆失败 网络问题解决)

FirmAE官方推荐使用Ubuntu 18.04系统进行安装部署,FirmAE工具的安装部署十分简单,只需要拉取工具仓库后执行安装脚本即可。 首先运行git clone --recursive https://kgithub.com/pr0v3rbs/FirmAE命令 拉取FirmAE工具仓库,因为网络的问题&…

非常详细的 Ceph 介绍、原理、架构

1. Ceph架构简介及使用场景介绍 1.1 Ceph简介 Ceph是一个统一的分布式存储系统,设计初衷是提供较好的性能、可靠性和可扩展性。 Ceph项目最早起源于Sage就读博士期间的工作(最早的成果于2004年发表),并随后贡献给开源社区。在经过…

排序链表00

题目链接 排序链表 题目描述 注意点 在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序 解答思路 使用归并排序对链表进行排序,保证时间复杂度为 O(n log n)相对于数组的归并排序,链表的中间节点需要遍历才能找到&#xff0…

idea快速生成Serializable序列化UID的方法

①在idea的File–>Settings–>Editor–>Inspections里搜索 Serializable class without serialVersionUID 记得点Apply和OK

opencv进阶08-K 均值聚类cv2.kmeans()介绍及示例

K均值聚类是一种常用的无监督学习算法,用于将一组数据点分成不同的簇(clusters),以便数据点在同一簇内更相似,而不同簇之间差异较大。K均值聚类的目标是通过最小化数据点与所属簇中心之间的距离来形成簇。 当我们要预测…

re学习(34)攻防世界-csaw2013reversing2(修改汇编顺序)

参考文章: re学习笔记(27)攻防世界-re-csaw2013reversing2_Forgo7ten的博客-CSDN博客攻防世界逆向入门题之csaw2013reversing2_沐一 林的博客-CSDN博客 三种做法 1、ida静态分析修改指令 main函数反编译的代码 由于运行之后的是乱码&…

【C++ 记忆站】缺省参数

文章目录 缺省参数的概念缺省参数的分类1、全缺省参数2、半缺省参数 缺省参数实际应用场景 缺省参数的概念 缺省参数是声明或定义函数时为函数的参数指定一个缺省值。在调用该函数时,如果没有指定实参则采用该形参的缺省值,否则使用指定的实参 正常调用一…

MySQL 安装 audit 日志审计插件

下载 我的MySQL版本是 5.7.37的,用的是日志审计插件(audit-plugin)是1.1.10的,大家可以对应自己版本去下载。 https://github.com/trellix-enterprise/mysql-audit/releases 配置 1、进入到/opt目录下载 audit,可以…

《Zookeeper》源码分析(十三)之 投票管理器

目录 QuorumVerifier数据结构构造函数containsQuorum() SyncedLearnerTracker功能 QuorumVerifier QuorumVerifier用于保存集群选举服务器信息以及选举期间判断投票是否过半,它的创建过程如下: 默认创建的是它的实现类QuorumMaj 数据结构 构造函数 从…

ElasticSearch的客户端操作

ElasticSearch的客户端操作 1、客户端介绍 官方文档地址: https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html 实际开发中,有多种方式操作Elasticsearch: 客户端工具:发送http请求(RESTful风格)操作…

C语言入门_Day 6布尔数与比较运算

目录 前言 1.布尔数 2.比较运算 3.易错点 4.思维导图 前言 除了算术计算以外,编程语言中还会大量使用比较运算,并会根据比较运算的结果是“真”还是“假”,来执行不同的代码。 当你想买一杯奶茶,准备支付的时候,支…