当前位置:网站首页>leetcode刷题:二叉树12(二叉树的所有路径)
leetcode刷题:二叉树12(二叉树的所有路径)
2022-07-05 19:52:00 【涛涛英语学不进去】
257. 二叉树的所有路径
给定一个二叉树,返回所有从根节点到叶子节点的路径。
说明: 叶子节点是指没有子节点的节点。
示例:
显然这题先序遍历比较舒服。使用递归一点点找路。
package com.programmercarl.tree;
import com.programmercarl.util.GenerateTreeNode;
import java.util.ArrayList;
import java.util.List;
/** * @ClassName BinaryTreePaths * @Descriotion TODO * @Author nitaotao * @Date 2022/7/4 18:16 * @Version 1.0 **/
public class BinaryTreePaths {
public static List<String> binaryTreePaths(TreeNode root) {
List<String> result = new ArrayList<String>();
//先序遍历
getPath(root, result, "");
return result;
}
public static void getPath(TreeNode root, List<String> result, String path) {
// if (root == null) {
// result.add(path.substring(0, path.length() - 2));
// return;
// }
//先序遍历
path += root.val + "->";
//如果接下来只剩一个方向了 选路
if (root.left == null && root.right != null) {
getPath(root.right, result, path);
} else if (root.left != null && root.right == null) {
getPath(root.left, result, path);
} else if (root.left == null && root.right == null){
result.add(path.substring(0, path.length() - 2));
return;
}else{
getPath(root.left, result, path);
getPath(root.right, result, path);
}
}
public static void main(String[] args) {
TreeNode node = GenerateTreeNode.generateTreeNode("[1]");
binaryTreePaths(node);
}
}
边栏推荐
- MMO项目学习一:预热
- Thread pool parameters and reasonable settings
- Reinforcement learning - learning notes 4 | actor critical
- Zhongang Mining: analysis of the current market supply situation of the global fluorite industry in 2022
- Which securities company is better and which platform is safer for mobile account opening
- How to safely and quickly migrate from CentOS to openeuler
- 浮动元素与父级、兄弟盒子的关系
- Do you know several assertion methods commonly used by JMeter?
- 建立自己的网站(16)
- 【obs】libobs-winrt :CreateDispatcherQueueController
猜你喜欢
Complete interview questions for interviewers and senior Android engineers in front-line Internet enterprises
完爆面试官,一线互联网企业高级Android工程师面试题大全
淺淺的談一下ThreadLocalInsecureRandom
What is the core value of testing?
C application interface development foundation - form control (5) - grouping control
Debezium series: record the messages parsed by debezium and the solutions after the MariaDB database deletes multiple temporary tables
Worthy of being a boss, byte Daniel spent eight months on another masterpiece
After 95, Alibaba P7 published the payroll: it's really fragrant to make up this
图嵌入Graph embedding学习笔记
【FAQ】华为帐号服务报错 907135701的常见原因总结和解决方法
随机推荐
Debezium series: parsing the default value character set
No matter how busy you are, you can't forget safety
MMO项目学习一:预热
Reinforcement learning - learning notes 4 | actor critical
Recommended collection, my Tencent Android interview experience sharing
Apprentissage du projet MMO I: préchauffage
95后阿里P7晒出工资单:狠补了这个,真香...
众昂矿业:2022年全球萤石行业市场供给现状分析
Fundamentals of shell programming (Chapter 9: loop)
Concept and syntax of function
图嵌入Graph embedding学习笔记
40000 word Wenshuo operator new & operator delete
leetcode刷题:二叉树15(找树左下角的值)
Summer Challenge database Xueba notes, quick review of exams / interviews~
太牛了,看这篇足矣了
What does software testing do? What are the requirements for learning?
Debezium series: PostgreSQL loads the correct last submission LSN from the offset
What is the function of okcc call center
不愧是大佬,字节大牛耗时八个月又一力作
C application interface development foundation - form control (6) - menu bar, toolbar and status bar controls