Skip to content

2. 两数相加

原文题目

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。

请你将两个数相加,并以相同形式返回一个表示和的链表。

你可以假设除了数字 0 之外,这两个数都不会以 0 开头。

https://leetcode.cn/problems/add-two-numbers

题目分析

题目中的意思就是,例如有两组数字,分别是 20119 ,那么他们相加的结果就是 220 ,但是这两组数字是以链表的形式存储的,也就是说,我们需要将这两个链表进行相加,然后返回一个新的链表。

链表数据是以相反的顺序存储,链表的形式如下:

第一组链表:1 -> 0 -> 2

第二组链表:9 -> 1

相加的链表:0 -> 2 -> 2

js
const l1 = { val: 1, next: { val: 0, next: { val: 2, next: null } } }
const l2 = { val: 9, next: { val: 1, next: null } }
const l1 = { val: 1, next: { val: 0, next: { val: 2, next: null } } }
const l2 = { val: 9, next: { val: 1, next: null } }

题解思路

方式一:转成数字相加

最简单的方式,把两个列表转成数字,然后相加,最后再转成链表返回。

思路分析

更新时间: