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

二叉树——二叉树所有路径

二叉树所有路径

给你一个二叉树的根节点 root ,按 任意顺序 ,返回所有从根节点到叶子节点的路径。
叶子节点 是指没有子节点的节点。
示例 1:
在这里插入图片描述

输入:root = [1,2,3,null,5]
输出:["1->2->5","1->3"]

重点:

  1. 通过前序遍历,将所有节点串联,并且递归自带隐式回溯
  2. 终止条件if not root.left and not root.right:
  3. 递归函数参数以及返回值的确定 def dfs(root, path):
# 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 binaryTreePaths(self, root: Optional[TreeNode]) -> List[str]:res = []# 递归函数参数以及返回值def dfs(root, path):if not root:return []if root:path += str(root.val)# 终止条件if not root.left and not root.right:res.append(path)else:# 单层递归path += '->'dfs(root.left, path)dfs(root.right, path)dfs(root, "")return res
http://www.lryc.cn/news/308353.html

相关文章:

  • 算法训练营day38(补),动态规划6
  • 【java、微服务、nacos】nacos服务分级存储模型
  • 共享旅游卡:打开0费用旅游新纪元,探索40+精彩线路
  • MQTT协议解析:揭秘固定报头、可变报头与有效载荷的奥秘
  • 备战蓝桥杯---树形DP基础3
  • IEEE Transactions on Industrial Electronics工业电子TIE修改稿注意事项及提交须知
  • c#委托的三种实现方式
  • c/c++|红黑树|分析应用|锚点
  • 2-29算法习题总结
  • 当Linux 磁盘满了,查看大文件并删除
  • STL -萃取特性迭代器
  • python pandas写入csv
  • oracle 数据库建集群式数据库的DBLINK的语法
  • 基于JAVA的毕业设计分配选题系统 开源项目
  • Android 接入指纹识别
  • 如何通过代理IP安全使用Linkedln领英?
  • 嵌入式驱动学习第一周——定时器与延时函数
  • Tips杂记
  • 可以用numpy为for加速
  • cartographer ceres后端优化
  • day57 集合 List Set Map
  • 蓝桥杯:真题讲解3(C++版)附带解析
  • 继续预训练对大语言模型的影响
  • 关于空频变换的知识点
  • 纯css实现-让字符串在文字少时显示为居中对齐,而在文字多时显示为左对齐
  • 初学HTMLCSS——盒子模型
  • 吸猫毛空气净化器哪个好?推荐除猫毛好的宠物空气净化器品牌
  • 【玩转408数据结构】线性表——双链表、循环链表和静态链表(线性表的链式表示 下)
  • 分布式概念
  • vue中的ref/reactive区别及原理