题目

https://leetcode-cn.com/problems/binary-tree-paths/

题解

二叉树前序遍历即可

  • 每走到一个节点,将当前节点的值拼到路径字符串 str 中。
  • 如果走到的是叶子结点,说明当前路径已经结束。将拼好的字符串 str 加入到 list 中。

前序遍历完成后,得到的 list 即为所求。

复杂度分析

因为是前序遍历,所以之间复杂度 O(n),空间复杂度O(h)

其中,n 表示二叉树节点个数,h 表示二叉树深度。

代码

为了可读性,本文直接用 “+” 做字符串拼接。实际上,用 StringBuilder 效率更好。

public class Solution {public List<String> binaryTreePaths(TreeNode root) {List<String> list = new ArrayList<>();preOrder(root, "", list);return list;}/*** 前序遍历*/public void preOrder(TreeNode node, String str, List<String> list) {if (node == null) {return;}if (str != "") str += ("->");if (node.left == null && node.right == null) {list.add(str + node.val);return;}preOrder(node.left, str + node.val, list);preOrder(node.right, str + node.val, list);}
}

leetcode 257. 二叉树的所有路径(Java版)相关推荐

  1. LeetCode 257. 二叉树的所有路径(DFS)

    文章目录 1. 题目 2. DFS解题 1. 题目 给定一个二叉树,返回所有从根节点到叶子节点的路径. 说明: 叶子节点是指没有子节点的节点. 示例:输入:1/ \ 2 3\5输出: ["1 ...

  2. Leetcode 257. 二叉树的所有路径

    Time: 2019-08-12 题目描述 给定一个二叉树,返回所有从根节点到叶子节点的路径. 说明: 叶子节点是指没有子节点的节点. 示例: 输入: 1/ \ 2 3\5 输出: ["1- ...

  3. 57. Leetcode 257. 二叉树的所有路径 (二叉树-二叉树路径和)

    给你一个二叉树的根节点 root ,按 任意顺序 ,返回所有从根节点到叶子节点的路径.叶子节点 是指没有子节点的节点.示例 1: 输入:root = [1,2,3,null,5] 输出:[" ...

  4. LeetCode 257二叉树的所有路径-简单

    给定一个二叉树,返回所有从根节点到叶子节点的路径. 说明: 叶子节点是指没有子节点的节点. 示例: 输入: 1/ \ 2 3\5 输出: ["1->2->5", &qu ...

  5. LeetCode 257. 二叉树的所有路径 思考分析

    目录 题目 思路一:深度递归 思路二:广度迭代 关于回溯 题目 给定一个二叉树,返回所有从根节点到叶子节点的路径. 说明: 叶子节点是指没有子节点的节点. 示例: 输入: 输出: ["1-& ...

  6. LeetCode 257 二叉树的所有路径

    题目描述 给定一个二叉树,返回所有从根节点到叶子节点的路径.说明: 叶子节点是指没有子节点的节点. 题解 深度优先搜索 代码 /*** Definition for a binary tree nod ...

  7. LeetCode —— 257. 二叉树的所有路径(Python)

    给定一个二叉树,返回所有从根节点到叶子节点的路径. 说明: 叶子节点是指没有子节点的节点. 示例: -------- 解题思路: (1)用变量string记录从根结点到当前结点经过的结点路径. (2) ...

  8. Leetcode 257. 二叉树的所有路径 解题思路及C++实现

    解题思路: 使用深度优先搜索(DFS),深度优先搜索的终止条件是:当前节点root为叶子节点,即:!root->left && !root->right 为真,则找到了一条 ...

  9. leetcode 563. 二叉树的坡度(Java版)

    题目 https://leetcode-cn.com/problems/binary-tree-tilt/ 题解 从问题的描述中,可以清楚地了解到,我们需要在给定树的每个结点处找到其坡度,并将所有的坡 ...

最新文章

  1. 老码农揭开行业黑幕:如何编写无法维护的代码
  2. docker 外部连接_使用外部网络连接Docker容器
  3. win bat 输入参数
  4. 10个相见恨晚的 Java 在线练手项目
  5. 资源放送丨《Oracle数据库索引分裂详解》PPT视频
  6. Nature:读博不该有害身体健康
  7. 零基础学python用哪本书好-Python入门到精通学习书籍推荐!
  8. 接口测试工具-Jmeter使用笔记(五:正则表达式提取器)
  9. pmp学习资料_201912期PMP学习内容汇总表
  10. OFD文件在线阅读器
  11. pppoe按需连接服务器无响应,pppoe服务器无响应怎么解决_pppoe拨号失败怎么办
  12. 如何打开CMD界面呢?打开CMD界面有四种方式。
  13. 树莓派3 搭建tensorflow并进行物体识别
  14. 三季度现货白银基本面分析
  15. 设置WebView字体颜色,背景颜色
  16. C语言程序课程设计—读心术
  17. 秃头大牛一文竟然就把SpringCloudStream(SCS)给讲明白了?
  18. 杀疯了,GitHub疯传2022Java面试八股文解析+大厂面试攻略
  19. matlab主导极点怎么求,Matlab - 以编程方式查找主导极点
  20. vue项目实现文件下载中心:下载、取消下载、列表展示

热门文章

  1. 滚动图片广告_张韶涵霸屏兴发广场,户外LED大屏广告:投放价值在哪?
  2. 从蓝桥杯来谈Fibonacci数列
  3. 19.函数的使用.rs
  4. Zookeeper 安装和配置---学习二
  5. 给Source Insight做个外挂系列之四--分析“Source Insight”
  6. PyCairo 中的剪裁和屏蔽
  7. tomcat源码运行
  8. 手写实现Spring(IOC、DI),SpringMVC基础功能
  9. Linux调度系统全景指南(下篇)
  10. ​Hmily重启后月度报告