← 返回 Kata
EasyLeetCode2026-06-02原题 ↗

027Binary Tree Paths

binary-treerecursiondfs

Problem

给定一棵二叉树的根节点 root

请返回这棵树中所有从根节点到叶子节点的路径。

每条路径需要用字符串表示,节点之间用 -> 连接。

叶子节点是没有左孩子、也没有右孩子的节点。

例如,下面这棵树有两条从根节点到叶子节点的路径:

    1
   / \
  2   3
   \
    5

第一条路径是:

1 -> 2 -> 5

第二条路径是:

1 -> 3

所以应该返回:

["1->2->5", "1->3"]

注意,路径必须从根节点开始,并且必须走到叶子节点才算完整。不能只走到中间某个节点就停止。

Examples

示例 1

Input:  root = [1,2,3,null,5]
Output: ["1->2->5", "1->3"]

解释:树中有两个叶子节点 53,对应的根到叶子路径分别是 1->2->51->3

示例 2

Input:  root = [1]
Output: ["1"]

解释:只有一个节点时,根节点本身也是叶子节点,所以唯一的路径就是 "1"

示例 3

Input:  root = [1,2]
Output: ["1->2"]

解释:节点 2 是唯一的叶子节点,所以只有一条完整路径。

Constraints

  • 树中节点的数量范围是 [1,100][1, 100]
  • 100-100 \leq Node.val 100\leq 100

最初怎么想、怎样补完整、最后如何落成。