题目
给你一个二叉树的根节点 root ,按 任意顺序 ,返回所有从根节点到叶子节点的路径。
叶子节点 是指没有子节点的节点。
示例 1:
输入:root = [1,2,3,null,5]
输出:["1->2->5","1->3"]
解
java
class Solution {
public List<String> binaryTreePaths(TreeNode root) {
List<String> result = new ArrayList<>();
LinkedList<String> path = new LinkedList<>();
dfs(root, path, result);
return result;
}
public void dfs(TreeNode root, LinkedList<String> path, List<String> result) {
if (root == null) {
return;
}
path.add(String.valueOf(root.val));
if (root.left == null && root.right == null) {
result.add(String.join("->", path));
}
dfs(root.left, path, result);
dfs(root.right, path, result);
path.removeLast();
}
}