二叉树的所有路径
题目链接描述示例初始代码模板代码
题目链接
https://leetcode-cn.com/problems/binary-tree-paths/
描述
给定一个二叉树,返回所有从根节点到叶子节点的路径。
说明
: 叶子节点是指没有子节点的节点。
示例
输入
:
1
/ \
2 3
\
5
输出
: ["1->2->5", "1->3"]
解释
: 所有根节点到叶子节点的路径为
: 1->2->5, 1->3
初始代码模板
class Solution {
public List
<String> binaryTreePaths(TreeNode root
) {
}
}
代码
class Solution {
List
<String> ans
= new LinkedList<>();
public List
<String> binaryTreePaths(TreeNode root
) {
findPaths(root
, "");
return ans
;
}
private void findPaths(TreeNode root
, String path
) {
if (root
== null
) {
return;
}
StringBuilder sbu
= new StringBuilder(path
);
sbu
.append(Integer
.toString(root
.val
));
if (root
.left
== null
&& root
.right
== null
) {
ans
.add(sbu
.toString());
} else {
sbu
.append("->");
findPaths(root
.left
, sbu
.toString());
findPaths(root
.right
, sbu
.toString());
}
}
}
转载请注明原文地址:https://blackberry.8miu.com/read-32001.html