#2819. 左叶子之和

左叶子之和

左叶子之和

题目描述

给定一棵用 “节点数字矩阵” 表示的二叉树,返回该树所有左叶子节点的值之和。

关键定义

  1. 左叶子节点:需同时满足两个条件
  • 该节点是其父节点的 “左子节点”(对应矩阵中父节点所在行的第 1 个数字)

  • 该节点是叶子节点(其对应的矩阵行中两个数字均为 *,表示无左右子节点)

  1. 节点数字矩阵规则
  • 第一行数字:表示树的总节点数 n(节点编号从 1 开始,根节点固定为 1)

  • 第 2 行到第 n+1 行:每行有 2 个元素,对应编号为 i-1 的节点的左、右子节点(i 为当前行号)

    • 若元素为数字:表示该方向存在子节点,且子节点编号为该数字

    • 若元素为 *:表示该方向无对应的子节点

示例

示例 1

  • 输入(节点数字矩阵)
5  // 总节点数:5个(节点1、2、3、4、5)

2 3  // 节点1的左子节点=2,右子节点=3

* *  // 节点2的左子节点=无,右子节点=无(节点2是叶子节点)

4 5  // 节点3的左子节点=4,右子节点=5

* *  // 节点4的左子节点=无,右子节点=无(节点4是叶子节点)

* *  // 节点5的左子节点=无,右子节点=无(节点5是叶子节点)
  • 树结构对应

    • 根节点 = 1,左子节点 = 2(叶子),右子节点 = 3

    • 节点 3 的左子节点 = 4(叶子),右子节点 = 5(叶子)

  • 左叶子节点:节点 2(父节点 1 的左子节点 + 叶子)、节点 4(父节点 3 的左子节点 + 叶子)

  • 节点值说明:本题中节点编号即节点值(如节点 2 的值 = 2,节点 4 的值 = 4)

  • 输出2 + 4 = 6

示例 2

  • 输入(节点数字矩阵)
1  // 总节点数:1个(仅节点1)

* *  // 节点1的左子节点=无,右子节点=无(节点1是叶子节点)
  • 树结构对应:仅根节点 1,无任何子节点

  • 左叶子节点:无(根节点无父节点,不存在 “父节点的左子节点” 这一前提)

  • 输出0

示例 3

  • 输入(节点数字矩阵)
4  // 总节点数:4个(节点1、2、3、4)

2 3  // 节点1的左子节点=2,右子节点=3

4 *  // 节点2的左子节点=4,右子节点=无

* *  // 节点3的左子节点=无,右子节点=无(节点3是叶子节点)

* *  // 节点4的左子节点=无,右子节点=无(节点4是叶子节点)
  • 树结构对应

    • 根节点 = 1,左子节点 = 2,右子节点 = 3(叶子)

    • 节点 2 的左子节点 = 4(叶子),无右子节点

  • 左叶子节点:节点 4(父节点 2 的左子节点 + 叶子)

  • 输出4

提示

  1. 节点总数范围:[0, 1000](若总节点数为 0,输入仅 1 行 0,输出为 0)

  2. 节点值范围(即节点编号):[-1000, 1000](若节点值为负数,矩阵中直接写负号,如 -5

  3. 矩阵每行固定 2 个元素,仅含数字或 *,无其他符号

题目信息

  • 难度:简单
  • 相关标签:二叉树、深度优先搜索(DFS)、广度优先搜索(BFS)、树
  • 核心考点
  1. 理解 “节点数字矩阵” 与二叉树结构的对应关系
  2. 准确识别 “左叶子节点”(父左子 + 无后代)
  3. 遍历矩阵统计符合条件的节点值之和