目录结构
1.题目
给定一个二叉树,返回所有从根节点到叶子节点的路径。
说明: 叶子节点是指没有子节点的节点。
示例:
输入:
1
/ \
2 3
\
5
输出: ["1->2->5", "1->3"]
解释: 所有根节点到叶子节点的路径为: 1->2->5, 1->3
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/binary-tree-paths
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2.题解
递归。
public class Solution257 {
public List<String> binaryTreePaths(TreeNode root) {
LinkedList<String> paths = new LinkedList<>();
getPaths(root, "", paths);
return paths;
}
public void getPaths(TreeNode root, String tmpPath, LinkedList<String> paths) {
if (root != null) {
tmpPath += root.val;
if (root.left == null && root.right == null) {
paths.addLast(tmpPath);
} else {
tmpPath += "->";
getPaths(root.left, tmpPath, paths);
getPaths(root.right, tmpPath, paths);
}
}
}
}
- 时间复杂度:
- 空间复杂度: