257. 二叉树的所有路径

难度:简单

给你一个二叉树的根节点 root ,按 任意顺序 ,返回所有从根节点到叶子节点的路径。

叶子节点 是指没有子节点的节点。

思路

使用迭代法,从根节点开始到叶节点结束,利用StringBuilder记录下当前路径,发现到叶节点后将该路径加入到返回的List

注意:在使用StringBuilder记录路径时候需要注意传入子程序的StringBuilder是当前StringBuilder的拷贝,因为传入的参数是引用类型,如果直接将原来的传入会导致结果返回的List中所有元素都是一样的

package cn.edu.xjtu.carlWay.tree.binaryTreePath;import cn.edu.xjtu.Util.TreeNode.TreeNode;import java.util.ArrayList;
import java.util.List;/*** 257. 二叉树的所有路径* 给你一个二叉树的根节点 root ,按 任意顺序 ,返回所有从根节点到叶子节点的路径。* <p>* 叶子节点 是指没有子节点的节点。* <p>* https://leetcode-cn.com/problems/binary-tree-paths/*/
public class Solution {public List<String> binaryTreePaths(TreeNode root) {if (root == null) {return null;}List<String> paths = new ArrayList<>();StringBuilder path = new StringBuilder();findPath(root, path, paths);return paths;}private void findPath(TreeNode node, StringBuilder path, List<String> paths) {if (node != null) {StringBuilder temp_path = new StringBuilder(path);temp_path.append(node.val);if (node.left == null && node.right == null) {paths.add(temp_path.toString());} else {temp_path.append("->");findPath(node.left, temp_path, paths);findPath(node.right, temp_path, paths);}}}
}

求二叉树根节点到叶节点的所有路径相关推荐

  1. 二叉树根结点到叶节点的最短距离

    给定一棵二叉树,找出它的最小深度.最小深度是沿着从根节点到最近叶节点的最短路径的节点数目. 思路一:递归. 当节点左右子树都为null时,返回0 当左子树为null,返回右子树递归+1: 当右字数为n ...

  2. Leetcode 129求根节点到叶节点数字之和、104二叉树的最大深度、8字符串转换整数(atoi)、82删除排序链表中的重复元素II、204二分查找、94二叉树的中序遍历、144二叉树的前序遍历

    Top1:Leetcode 129求根节点到叶节点数字之和 官方题解:https://leetcode.cn/problems/sum-root-to-leaf-numbers/solution/qi ...

  3. 【leetcode-DFS】求根节点到叶节点数字之和/二叉树的最大路径和/路径总和/左叶子之和/树的直径

    文章目录 求根节点到叶节点数字之和 深度优先搜索 广度优先搜索 二叉树的最大路径和 DFS 路径总和1 深度优先搜索 广度优先搜索 路径总和2 回溯法 广度优先搜索 左叶子之和 递归 DFS 树的直径 ...

  4. 【二叉树】求根节点到叶节点数字之和

    0x00 题目 给你一个二叉树的根节点 root 树中每个节点都存放有一个 0 到 9 之间的数字 每条从 根 节点到 叶 节点的路径都代表一个 数字 例如,从 根 节点到 叶 节点的路径 1 -&g ...

  5. 129. 求根节点到叶节点数字之和

    129. 求根节点到叶节点数字之和: 题目链接 :129. 求根节点到叶节点数字之和 题目: 给定一个二叉树的根节点 root ,树中每个节点都存放有一个 0 到 9 之间的数字. 每条从根节点到叶节 ...

  6. 求根节点到叶节点数字之和(C语言)

    一个二叉树的根节点 root ,树中每个节点都存放有一个 0 到 9 之间的数字. 每条从根节点到叶节点的路径都代表一个数字: 例如,从根节点到叶节点的路径 1 -> 2 -> 3 表示数 ...

  7. 【数据结构与算法】之深入解析“求根节点到叶节点数字之和”的求解思路与算法示例

    一.题目要求 给你一个二叉树的根节点 root ,树中每个节点都存放有一个 0 到 9 之间的数字. 每条从根节点到叶节点的路径都代表一个数字:例如,从根节点到叶节点的路径 1 -> 2 -&g ...

  8. LeetCode Algorithm 129. 求根节点到叶节点数字之和

    129. 求根节点到叶节点数字之和 Ideas 从根节点到叶节点的路径可以通过递归得到,所以我们从根节点开始递归,每次递归的时候还带着一个参数表示从根节点到当前节点所组成的数字对应的字符串,最后如果到 ...

  9. 求根节点到叶节点数字之和Python解法

    给你一个二叉树的根节点 root ,树中每个节点都存放有一个 0 到 9 之间的数字. 每条从根节点到叶节点的路径都代表一个数字: 例如,从根节点到叶节点的路径 1 -> 2 -> 3 表 ...

  10. 求二叉树上结点的路径c语言版,求二叉树根到给定节点的路径设计报告.doc

    求二叉树根到给定节点的路径设计报告 题目: 求二叉树根到给定节点的路径 摘要:本程序设计题要求出二叉树的根节点到给定节点的路径,我们利用二叉树的双亲存储表示法建立二叉树,然后在树的叶子节点中找到给定的 ...

最新文章

  1. Idea--Tomcat配置中的On Upate Action 与 On Frame Deactivation
  2. Zend Framework数据库操作
  3. 科大星云诗社动态20210212
  4. 北斗导航 | 读取ground truth data(python源代码)
  5. ajax异步传输代码,Ajax同步与异步传输的示例代码
  6. Linux安全基础:grep命令的使用
  7. 红米手机5怎么样卡刷开发版开启root超级权限
  8. 企业微信jssdk分享接口管理系统
  9. Linux直接复制eclipse也可以使用
  10. 人人商城小程序消息服务器配置,人人商城小程序前端对接教程
  11. python股票量化交易模型_如何建立一个股票量化交易模型并仿真? ?
  12. Java 在接口Interface中 使用关键字 default
  13. 几个生僻字:烎,囧、槑、玊、奣、嘦、勥、巭、嫑、恏、兲、氼、忈、炛
  14. oracle删sequen,sequen是什么意思
  15. AcWing 187 导弹防御系统
  16. 关于Eclipse4.7安装TomcatPlugin后无法显示三只猫问题
  17. 怎么卸载电脑中的oracle,oracle怎么完全卸载
  18. python中的索引从几开始计数_列表的索引是从0开始的
  19. 发帖添加作者水印插件无法发帖问题-缺少GD库支持,php如何安装gd库-一颗优雅草科技伊凡
  20. Dos命令行修改文件夹路径里的文件

热门文章

  1. 公安计算机专业就业前景,公安视听技术专业就业方向及就业前景分析
  2. 常见seo名词解释二(网站SEO常见术语说明)-从SEO到优化实战大师
  3. RT-Thread 软件定时器(学习笔记)
  4. Tello无人机版之使用Scratch2和ROS进行机器人图形化编程学习
  5. 群晖域名注册_手把手教你在群晖NAS上用自己的域名实现https访问
  6. 计算机网络与通信技术笔记,自考《计算机网络与通信》笔记(1)
  7. VINS理论与代码详解2——单目视觉跟踪
  8. 数据分析案例-银行拉新活动分析
  9. CSS3新增特性:选择器、盒子模型、其他属性
  10. antivir for unix命令行参数中译版