6.10二叉树的所有路径(LC257-E,不太会)

算法:

前序遍历:

因为要让父节点指向孩子节点,才能输出路径。

递归与回溯相辅相成,只要有递归,就一定有回溯。

举个例子理解一下:

中:先push入1

左:再Push入2

右:再Push入5 \\1->2->5

回溯:

pop 5

pop 2

到1的时候,再push入3 \\1->3

正确代码(还是不太懂)

`cur`(当前正在访问的节点)、`path`(用于存储当前路径的列表)和`result`(用于存储最终结果的列表)。

# # Definition for a binary tree node.
# # class TreeNode(object):
# #     def __init__(self, val=0, left=None, right=None):
# #         self.val = val
# #         self.left = left
# #         self.right = right
class Solution(object):
    def binaryTreePaths(self, root):
        """
        :type root: TreeNode
        :rtype: List[str]
        """
        result = []
        path = []
        if root == None:
            return result
        else:
            self.travasal(root, path, result)
            return result

    def travasal(self, cur, path, result):
        #`cur`(当前正在访问的节点)
        #`path`(用于存储当前路径的列表)
        #`result`(用于存储最终结果的列表)
        #中:把cur加入path中
        path.append (cur.val)
        #首先判断是否为叶子节点
        if cur.left == None and cur.right == None:
            paths = "->".join(map(str,path))
            result.append(paths)
            #无返回值
            return 
            #左
        if cur.left != None:
            self.travasal(cur.left, path, result)
            path.pop()#回溯
            #右
        if cur.right != None:
            self.travasal(cur.right, path, result)
            path.pop()#回溯



        

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MES管理系统与ERP系统的实施顺序与决策

在现今的数字化时代,制造企业纷纷寻求通过先进的系统来提升运营效率。其中,ERP管理系统与MES管理系统被誉为是数字化转型的两大利器。然而,在推进这两个系统时,企业常常面临一个关键问题:究竟应该先实施哪一个系统&…

BetterDisplay Pro v2.0.11(显示器颜色校准软件)

BetterDisplay Pro是一款为Mac电脑设计的屏幕亮度调节软件,旨在提高显示器的色彩和亮度表现。它可以根据用户的需求和显示器的特性,自动调整显示器的亮度、色温、对比度等参数,以获得更加真实、舒适的视觉效果。 这款软件拥有智能调节功能&a…

基于C#实现最长公共子序列

一、作用 最长公共子序列的问题常用于解决字符串的相似度,是一个非常实用的算法,作为码农,此算法是我们的必备基本功。 二、概念 举个例子,cnblogs 这个字符串中子序列有多少个呢?很显然有 27 个,比如其…

微创机器人:CRM撬动售后服务数字化升级

一方面,我国医疗器械行业起步较晚,更注重产品的销售和业务的拓展,企业售后服务整体比较滞后。 另一方面,医疗器械售后服务环节数字化程度不足,一些企业仍通过传统的线下手段管理售后服务,进行数字化尝试的…

element UI表格中设置文字提示(tooltip)或弹出框(popover)时候注意的地方

在表格中自定义内容的时候需要使用标签,否则无法正常显示 文档中有两种写法:1、使用 slot“reference” 的具名插槽,2、使用自定义指令v-popover指向 Popover 的索引ref。 使用tooltip 时用具名 slot 分发content,替代tooltip中…

SIMULIA-Simpack 2022x新功能介绍

通用功能 增加库伦摩擦类型 力元95 Coulomb Friction增加了3种新的摩擦方向类型用于模拟平面、圆柱和球面摩擦。 针对平移和旋转摩擦改进了滑动到粘着过渡阶段的检测,增加一个参数定义两种不同的滑移-粘滞过渡模式,即“Unloaded stick stiffness”和“…

Ultipa Transporter V4.3.22 即将发布,解锁更多易用功能!

Ultipa Graph 作为一款领先的实时图数据库分析平台,即将发布最新版的数据导入/导出工具Ultipa Transporter V4.3.22 以实现对 Neo4j数据源的导入支持。自今年以来,Ultipa Transporter不断增加新功能,除原本支持本地CSV文件导入导出外&#xf…

代码逻辑修复与其他爬虫ip库的应用

在一个项目中,由于需要设置 http_proxy 来爬虫IP访问网络,但在使用 requests 库下载文件时遇到了问题。具体表现为在执行 Python 脚本时,程序会阻塞并最终超时,无法正常完成文件下载。 解决方案 针对这个问题,我们可以…

基于C++实现循环赛日程表(分治算法)

一、问题描叙 设有n2^k个运动员,要进行网球循环赛。现在要设计一个满足以下要求的比赛日程表 每个选手必须与其他n-1个选手各赛一场每个选手一天只能赛一次循环赛一共进行n-1天 二、问题分析 按此要求可将比赛日程表设计成n行n-1列的表,在表中第 i 行…

【网络安全】国家专利局专利办理系统存在信息泄漏风险

今天在办理专利的时候,发现该系统存在严重的信息泄漏问题。 废话少说,贴图为证。 每一个都可以点开,查看身份证、港澳通信证扫描件,很清晰。 本人没找到可以反馈的渠道,微博被限流。 发此贴只为警醒相关主管部门和运…

Mac git查看分支以及切换分支

查看本地分支 git branch 查看远程仓库分支 git branch -r 查看本地与远程仓库分支 git branch -a 切换分支 git checkout origin/dev/js

JSP页面文本展示正常 但定义在java代码中的内容 输出在页面上会变成问号 问题解决

这里 我直接写在界面上的内容就是正常的 但是 java代码中定义的内容 就会变成问号 造成这个情况的原因可能是多样的 首先要确保JDK没问题 然后是 页面顶部配置 <% page language"java" contentType"text/html; charsetUTF-8" pageEncoding"UTF-…

NC Cloud uploadChunk文件上传漏洞复现

简介 NC Cloud是指用友公司推出的大型企业数字化平台。支持公有云、混合云、专属云的灵活部署模式。该产品uploadChunk文件存在任意文件上传漏洞。 漏洞复现 FOFA语法&#xff1a; app"用友-NC-Cloud" 访问页面如下所示&#xff1a; POC&#xff1a;/ncchr/pm/fb/…

unexpected end of stream on

SpringCloud使用FeignClient调用第三方接口报错unexpected end of stream on ; 解决方法&#xff1a; 1.检查服务器端口是否被占用 lsof -i:端口&#xff1b; 2.nacos添加超时配置&#xff1a;

C#中的is和as的使用和区别

目录 概述一、is操作符1. is操作符的语法2. is操作符的用途3. is操作符的使用示例4. is操作符与typeof操作符的区别 二、as操作符1. as操作符的语法2. as操作符的用途3. as操作符的使用示例4. as操作符与is操作符的区别和联系5. as操作符与is操作符的区别总结 概述 在C#编程语…

苹果怎么互传照片?简单方法总结好了!

随着时间的推移&#xff0c;手机中的照片数量可能会不断增加&#xff0c;从而导致存储空间不足。这时候&#xff0c;将照片传输到另一个手机可以扩大存储容量&#xff0c;使我们的手机更加顺畅运行。那么&#xff0c;苹果怎么互传照片&#xff1f;在拥有两台苹果设备的情况下&a…

c# webapi 处理跨源问题

利用cors中间件处理跨源问题。 首先&#xff0c;什么是跨域&#xff08;跨源&#xff09;问题&#xff1a; 是指不同站点之间&#xff0c;使用ajax无法相互调用的问题。跨域问题本质是浏览器的一种保护机制&#xff0c;它的初衷是为了保证用户的安全&#xff0c;防止恶意网站窃…

【从入门到起飞】JavaSE—IO流(2)字符输入流字符输出流

&#x1f38a;专栏【JavaSE】 &#x1f354;喜欢的诗句&#xff1a;天行健&#xff0c;君子以自强不息。 &#x1f386;音乐分享【如愿】 &#x1f384;欢迎并且感谢大家指出小吉的问题&#x1f970; 文章目录 &#x1f33a;字符输入流&#x1f384;空参read方法&#x1f6f8;分…

计算机网络必知必会——传输层TCP

&#x1f4d1;前言 本文主要SpringBoot通过DevTools实现热部署的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是青衿&#x1f947; ☁️博客首页&#xff1a;CSDN主页放风讲故事 &#x1f304;每日一句&…