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

028Sum of Left Leaves

binary-treerecursiondfs

Problem

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

请返回这棵树中所有左叶子节点的值之和。

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

左叶子节点指的是:它本身是叶子节点,并且它是某个父节点的左孩子。

例如,下面这棵树有两个叶子节点 915

      3
     / \
    9  20
       / \
      15  7

其中 9 是根节点 3 的左孩子,并且它是叶子节点,所以 9 是左叶子节点。

15 是节点 20 的左孩子,并且它也是叶子节点,所以 15 也是左叶子节点。

7 虽然是叶子节点,但它是右孩子,不是左叶子节点。

所以答案是:

9 + 15 = 24

注意,只有“左孩子”并不够,还必须是“叶子节点”。如果一个节点有孩子,它就不是叶子节点。

Examples

示例 1

Input:  root = [3,9,20,null,null,15,7]
Output: 24

解释:左叶子节点是 915,它们的和是 24

示例 2

Input:  root = [1]
Output: 0

解释:只有一个根节点时,它不是任何节点的左孩子,所以没有左叶子节点。

示例 3

Input:  root = [1,2,3,4,5]
Output: 4

解释:叶子节点是 453。其中只有 4 是左叶子节点,所以返回 4

Constraints

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

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