给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。
请你将两个数相加,并以相同形式返回一个表示和的链表。
你可以假设除了数字 0 之外,这两个数都不会以 0 开头。
示例思路与算法
首先,我们按照示例中的结果发现我们可以同时遍历这两个链表,按照同一方向,相同的位置的数字进行类加
举例说明:
n1、n2代表两个链表相同位置的值,carry代表进位值。最终结果的链表的相同位置的值为 (n1 n2 carry) % 10 ,新的进位值为(n1 n2 carry)/ 10。
如果两个链表的长度不同,则可以认为短的链表的后面有若干个 0 。
最后,如果链表遍历结束后,如果carry > 0,那还需要在最后的链表上再附加一个节点,节点的值为 carry。
代码如下:
本文内容出处是力扣官网,希望和大家一起刷算法,在后面的路上不变秃但是变强!
好兄弟可以点赞并关注我的公众号“javaAnswer”,全部都是干货。