题目
两数之和:
给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。
如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。
您可以假设除了数字 0 之外,这两个数都不会以 0 开头。
题目分析
题目给了两个非空的链表,我们要将链表中对应位置的数相加,并存在一个新链表中,最后返回该链表。
潜在的坑:
- 链表的长度不一定是相等的,那么在计算的时候应该以最长的链表为标准,将短的那条链表没有的部分设置成0。
- 在移动链表时,链表的下一个元素可能为空,所有最好不要使用a=a.next这种写法。
- 在加法中会出现进位,由于是两个一位数相加,那么进位值是0或者1,在将两个链表相加时,也要把进位加进去。
- 当两个链表的元素相加完成时,要考虑最后一次相加中是否有进位出现,如果有进位那还要在返回的链表中继续增加一个进位。所以返回链表的长度应该等于最长的链表长度或