一、题目描述
1. 给定两个非空的链表,表示两个非负的整数。每个数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字。请你将两个数相加,并以相同形式返回一个表示和的链表。可以假设除了数字0之外,这两个数都不会以0开头。
2. 示例
输入:l1 = [2, 4, 3], l2 = [5, 6, 4]
输出:[7, 0, 8]
解释:342 + 465 = 807
3. 提示
每个链表中的节点数在范围[1, 100]内
0 <= Node.val <= 9
题目数据保证列表表示的数字不含前导零
二、代码实现
还没看懂
三、复盘
1. 链表
(1)定义
链表是有一连串节点(“链节点”)组成,每个节点包含任意的实例数据和一个或两个指向上/下一个节点的位置的链接(“links”)。链表(Linked List)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点存到下一个节点的指针(Pointer)。
(2)特点分析
① 克服数组链表需要预先指导数据大小的缺点,充分利用计算机内存空间,实现灵活的内存动态管理;但是失去了数组随机读取的优点,空间开销比较大(增加了节点的指针域)。
② 此类数据结构插入和删除都比较快,但是查找比较慢。除非需要频繁的通过下标来随机访问数据,否则在很多使用数组的地方都可以用链表代替。