leetcode 257. 二叉树的所有路径(Java版)
题目
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版)相关推荐
- LeetCode 257. 二叉树的所有路径(DFS)
文章目录 1. 题目 2. DFS解题 1. 题目 给定一个二叉树,返回所有从根节点到叶子节点的路径. 说明: 叶子节点是指没有子节点的节点. 示例:输入:1/ \ 2 3\5输出: ["1 ...
- Leetcode 257. 二叉树的所有路径
Time: 2019-08-12 题目描述 给定一个二叉树,返回所有从根节点到叶子节点的路径. 说明: 叶子节点是指没有子节点的节点. 示例: 输入: 1/ \ 2 3\5 输出: ["1- ...
- 57. Leetcode 257. 二叉树的所有路径 (二叉树-二叉树路径和)
给你一个二叉树的根节点 root ,按 任意顺序 ,返回所有从根节点到叶子节点的路径.叶子节点 是指没有子节点的节点.示例 1: 输入:root = [1,2,3,null,5] 输出:[" ...
- LeetCode 257二叉树的所有路径-简单
给定一个二叉树,返回所有从根节点到叶子节点的路径. 说明: 叶子节点是指没有子节点的节点. 示例: 输入: 1/ \ 2 3\5 输出: ["1->2->5", &qu ...
- LeetCode 257. 二叉树的所有路径 思考分析
目录 题目 思路一:深度递归 思路二:广度迭代 关于回溯 题目 给定一个二叉树,返回所有从根节点到叶子节点的路径. 说明: 叶子节点是指没有子节点的节点. 示例: 输入: 输出: ["1-& ...
- LeetCode 257 二叉树的所有路径
题目描述 给定一个二叉树,返回所有从根节点到叶子节点的路径.说明: 叶子节点是指没有子节点的节点. 题解 深度优先搜索 代码 /*** Definition for a binary tree nod ...
- LeetCode —— 257. 二叉树的所有路径(Python)
给定一个二叉树,返回所有从根节点到叶子节点的路径. 说明: 叶子节点是指没有子节点的节点. 示例: -------- 解题思路: (1)用变量string记录从根结点到当前结点经过的结点路径. (2) ...
- Leetcode 257. 二叉树的所有路径 解题思路及C++实现
解题思路: 使用深度优先搜索(DFS),深度优先搜索的终止条件是:当前节点root为叶子节点,即:!root->left && !root->right 为真,则找到了一条 ...
- leetcode 563. 二叉树的坡度(Java版)
题目 https://leetcode-cn.com/problems/binary-tree-tilt/ 题解 从问题的描述中,可以清楚地了解到,我们需要在给定树的每个结点处找到其坡度,并将所有的坡 ...
最新文章
- 老码农揭开行业黑幕:如何编写无法维护的代码
- docker 外部连接_使用外部网络连接Docker容器
- win bat 输入参数
- 10个相见恨晚的 Java 在线练手项目
- 资源放送丨《Oracle数据库索引分裂详解》PPT视频
- Nature:读博不该有害身体健康
- 零基础学python用哪本书好-Python入门到精通学习书籍推荐!
- 接口测试工具-Jmeter使用笔记(五:正则表达式提取器)
- pmp学习资料_201912期PMP学习内容汇总表
- OFD文件在线阅读器
- pppoe按需连接服务器无响应,pppoe服务器无响应怎么解决_pppoe拨号失败怎么办
- 如何打开CMD界面呢?打开CMD界面有四种方式。
- 树莓派3 搭建tensorflow并进行物体识别
- 三季度现货白银基本面分析
- 设置WebView字体颜色,背景颜色
- C语言程序课程设计—读心术
- 秃头大牛一文竟然就把SpringCloudStream(SCS)给讲明白了?
- 杀疯了,GitHub疯传2022Java面试八股文解析+大厂面试攻略
- matlab主导极点怎么求,Matlab - 以编程方式查找主导极点
- vue项目实现文件下载中心:下载、取消下载、列表展示
热门文章
- 滚动图片广告_张韶涵霸屏兴发广场,户外LED大屏广告:投放价值在哪?
- 从蓝桥杯来谈Fibonacci数列
- 19.函数的使用.rs
- Zookeeper 安装和配置---学习二
- 给Source Insight做个外挂系列之四--分析“Source Insight”
- PyCairo 中的剪裁和屏蔽
- tomcat源码运行
- 手写实现Spring(IOC、DI),SpringMVC基础功能
- Linux调度系统全景指南(下篇)
- ​Hmily重启后月度报告