很简单的一道链表题,注意边界条件,顺着做即可
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) {
* val = x;
* next = null;
* }
* }
*/
public class Solution {
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
int count = 0;
if(l1 == null )
{
return l2;
}
if( l2 == null )
{
return l1;
}
ListNode res = new ListNode(0);
ListNode pos = res;
while( l1 != null || l2 != null )
{
int v1=0,v2=0;
if( l1 != null )
{
v1 = l1.val;
l1 = l1.next;
}
if( l2 != null )
{
v2 = l2.val;
l2 = l2.next;
}
int tmp = v1+v2+count;
if( tmp >= 10 )
{
count = 1;
pos.val = tmp-10;
}
else
{
count = 0;
pos.val = tmp;
}
if( l1 != null || l2 != null )
{
pos.next = new ListNode(0);
pos = pos.next;
}
else if( count != 0 )
{
pos.next = new ListNode(1);
}
}
return res;
}
}