给定一个二叉树,返回所有从根节点到叶子节点的路径。
说明: 叶子节点是指没有子节点的节点。
输入:
1
/
2 3
5
输出: ["1->2->5", "1->3"]
解释: 所有根节点到叶子节点的路径为: 1->2->5, 1->3
- 定义 res 用于 存储结果;
- 定义一个 path 用于存储 路径;
- 将当前节点值 加入 path : path.append(str(root.val));
- 判断 当前节点是否 叶子 节点:
- 是,将 path 加入 res: sres.append("->".join(path))
- 回退:path.pop()
- 判断 左子树 是否存在:
- 是,左子树遍历;
- 判断右子树 是否存在:
- 是,右子树遍历;
时间复杂度:O(n)
空间复杂度:O(logn)