028 · Sum of Left Leaves

algorithm
Published

June 3, 2026

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]\)
  • \(-1000 \leq\) Node.val \(\leq 1000\)