class Solution {
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
ListNode l3 = new ListNode(0);
ListNode l4 = l3;
ListNode l5 = l3;
while(true){
int n1 = l1!=null?l1.val:0;
int n2 = l2!=null?l2.val:0;
l3.val=n1+n2;
if(l1!=null)l1=l1.next;
if(l2!=null)l2=l2.next;
if(l1==null&&l2==null) {
break;
}
l3.next = new ListNode(0);
l3=l3.next;
}
while(l4!=null) {
if(l4.val>9) {
if(l4.next!=null) {
l4.next.val=l4.next.val+1;
l4.val=l4.val-10;
}
else
{
l4.next= new ListNode(1);
l4.val=l4.val-10;
}
}
l4=l4.next;
}
return l5;
}
}