问题: 给出两个正整数,每个整数由一个链表表示。其中链表的每个节点保存数的数位,这些数位反序存在在链表中,即高位在尾部,低位在头部。返回一个链表代表这两个数之和。
java代码:
public ListNode addTwoNumbers(ListNode l1,ListNode l2){
ListNode iter1=l1,iter2=l1;
ListNode iter=null,tail=null;
int carry=0,sum=0;
int num1,num2;
while(iter1!=null||iter2!=null||carry!=0){
num1=iter1==null?0:iter1.val;
num2=iter2==null?0:iter2.val;
sum=num1+num2+carry;
carry=sum/10;
sum=sum%10;
if(iter==null){
iter=new ListNode(sum);
tail=iter;
}
else{
tail.next=new ListNode(sum);
tail=tail.next;
}
iter1=iter1==null?null:iter1.next;
iter2=iter2==null?null:iter2.next;
}
return iter;
}