当前位置: 首页 > news >正文

代码随想录-- 二叉树 -- 二叉树的所有路径

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

思路:递归 + 回溯,递归函数 path 设计如下。

参数与返回值:参数要有根节点 root,最终的字符串数组 res,存储每一条路径经过的节点的列表 path;无返回值。

终止条件:当前节点是叶子结点时,对 path数组 进行处理,得到符合题意的字符串 spath,将处理过的 spath 加入 res 中,return。

单层递归逻辑(对 spath 的处理):

  1. 在终止条件前执行的代码:将 root.val 加入 path。
  2. 在终止条件后执行的代码:当 root.left 不为空时,调用递归函数 path,再进行回溯(对 path 数组进行弹出);当 root.right 不为空时,调用递归函数 path,再进行回溯(对 path 数组进行弹出)。
class Solution(object):def path(self,root,res,path):path.append(root.val)if root.left==None and root.right==None:spath=''for i in range(len(path)-1):spath=spath+str(path[i])+'->'spath=spath+str(path[len(path)-1])res.append(spath)returnif root.left:self.path(root.left,res,path)path.pop()if root.right:self.path(root.right,res,path)path.pop()def binaryTreePaths(self, root):res=[]if root==None:return respath=[]self.path(root,res,path)return res

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 未来的去中心化网络:Web3与AI的深度融合探讨
  • 操作系统:线程实现方式
  • 最大时间
  • Open3D 四元数、欧拉角及旋转向量转旋转矩阵的方式
  • application/x-www-form-urlencoded与multipart/form-data与application/json的区别
  • 多态与接口(Golang)
  • 金融业开源技术 术语
  • 报错module ‘markdown‘ has no attribute ‘version‘解决方法
  • 网络包处理库Scapy: 计算checksum,csum
  • 米壳AI:分享一个轻松保存外网高清原视频的方法!
  • 微信企业微信忽然爆满 怎么清理才干净?一招彻底清理干净垃圾文件
  • 顶点照明渲染路径
  • Spring Boot 注解探秘:@Validated 开启数据验证之旅(上)
  • 数据链路层与ARP协议
  • 数学建模笔记—— 灰色关联分析[GRA]
  • Akka系列(七):Actor持久化之Akka persistence
  • Android Volley源码解析
  • css系列之关于字体的事
  • iOS 系统授权开发
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • mysql innodb 索引使用指南
  • php的插入排序,通过双层for循环
  • Python利用正则抓取网页内容保存到本地
  • vue脚手架vue-cli
  • 纯 javascript 半自动式下滑一定高度,导航栏固定
  • 基于 Babel 的 npm 包最小化设置
  • 人脸识别最新开发经验demo
  • 深度学习中的信息论知识详解
  • 树莓派 - 使用须知
  • 一些关于Rust在2019年的思考
  • 应用生命周期终极 DevOps 工具包
  • 赢得Docker挑战最佳实践
  • ​ArcGIS Pro 如何批量删除字段
  • # Spring Cloud Alibaba Nacos_配置中心与服务发现(四)
  • #07【面试问题整理】嵌入式软件工程师
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (动手学习深度学习)第13章 计算机视觉---图像增广与微调
  • (二)换源+apt-get基础配置+搜狗拼音
  • (蓝桥杯每日一题)平方末尾及补充(常用的字符串函数功能)
  • (转)C#开发微信门户及应用(1)--开始使用微信接口
  • (转)C语言家族扩展收藏 (转)C语言家族扩展
  • (转)IIS6 ASP 0251超过响应缓冲区限制错误的解决方法
  • ***通过什么方式***网吧
  • .bat批处理(二):%0 %1——给批处理脚本传递参数
  • .Net Core 生成管理员权限的应用程序
  • .net 流——流的类型体系简单介绍
  • .net 设置默认首页
  • .NET 使用 ILRepack 合并多个程序集(替代 ILMerge),避免引入额外的依赖
  • .NET/C# 中设置当发生某个特定异常时进入断点(不借助 Visual Studio 的纯代码实现)
  • .net企业级架构实战之7——Spring.net整合Asp.net mvc
  • .net网站发布-允许更新此预编译站点
  • /etc/skel 目录作用
  • @angular/cli项目构建--http(2)
  • @transactional 方法执行完再commit_当@Transactional遇到@CacheEvict,你的代码是不是有bug!...
  • [ Linux Audio 篇 ] 音频开发入门基础知识