← 返回题目列表
UNSW COMP2521 · 简单

链表 · 递归求和

链表 · 用递归求所有值的和(禁循环)

读入一个链表,输出所有节点值的和——但要求用递归实现,不许用循环(呼应 2521「禁循环只能递归」的真题约束)。

请补全 sumList:一个链表 = 头节点 + 剩下的链表,所以 sum(head) = head->value + sum(head->next)。

易错点:① 基准情形是 head == NULL 返回 0(空链的和是 0)。写成 head->next == NULL 会漏掉最后一个节点、空链还会段错误。② 别忘了把 head->value 加上 sumList(head->next) 的结果。

输入

  • 第 1 行:整数 n(可能为 0)。
  • 第 2 行:n 个整数。

输出

  • 一行:所有值的和(空链表为 0)。

示例:输入 3 / 10 20 30 → 输出 60。