- 遍历两个链表,如果有一个不为空,另一个为null就补0
- carry用来存储进位
- 最后别忘了carry进位,要tail.next = new ListNode(carry)
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
ListNode pre = null,tail = null;
int carry = 0;
while(l1!=null||l2!=null){
int a = l1!=null?l1.val:0;
int b = l2!=null?l2.val:0;
int sum = a+b+carry;
if(pre==null) pre = tail = new ListNode(sum%10);
else{
tail.next = new ListNode(sum%10);
tail = tail.next;
}
carry = sum/10;
if(l1!=null) l1 = l1.next;
if(l2!=null) l2 = l2.next;
}
if(carry>0){
tail.next = new ListNode(carry);
}
return pre;
}