思路:
有几个方面需要考虑
- 双指针遍历,如果出现和大于10那么向前进1
- 如果长度不一样那么长的部分直接落下并且考虑进1 的问题
代码如下:
class Solution {public ListNode addTwoNumbers(ListNode l1, ListNode l2) {if (l1==null||l2==null){return l1==null?l2:l1;}//定义一个结果链表ListNode node = new ListNode(0);ListNode cur=node;int ca=0;int v1=0;int v2=0;while (l1!=null||l2!=null){v1=l1==null?0:l1.val;v2=l2==null?0:l2.val;ca=v1+v2+ca;cur.next=new ListNode(ca%10);ca=ca/10;cur=cur.next;l1=l1==null? null :l1.next;l2=l2==null? null :l2.next;}if (ca==1){cur.next=new ListNode(ca);}return node.next;}
}