算法|二叉树的所有路径
二叉树的所有路径 题目 二叉树的所有路径( 力扣:257)
给定一个二叉树,返回所有从根节点到叶子节点的路径。
说明: 叶子节点是指没有子节点的节点。
分析 【算法|二叉树的所有路径】递归遍历:
- root为空时,直接返回;
- 当左右子树都为空时,节点为叶子节点,将路径添加到结果数组。
- 分别递归遍历左右子树。
/**
* 257. 二叉树的所有路径
*/
List pathList = new ArrayList<>();
public List binaryTreePaths(TreeNode root) {
getPathsDfs(root, "");
return pathList;
}
private void getPathsDfs(TreeNode root, String pre){
if (root == null){
return;
}
if (root.left == null && root.right == null){
pathList.add(pre + root.val);
}
String str = pre + "->" + root.val;
getPathsDfs(root.left, str);
getPathsDfs(root.right, str);
}
推荐阅读
- 画解算法(1.|画解算法:1. 两数之和)
- 【生信技能树】R语言练习题|【生信技能树】R语言练习题 - 中级
- Guava|Guava RateLimiter与限流算法
- java中如何实现重建二叉树
- 一个选择排序算法
- 种树郭橐驼传(文言句式+古今异义+词类活用+通假字)
- SG平滑轨迹算法的原理和实现
- 白杨树
- 《算法》-图[有向图]
- 08黑龙江迟淑荣弯柳树网络学院第五期学习赵宗瑞老师主讲的(传统文化与身心健康)教育体系心得体会