题目:
用链表完成两数相加:
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
ListNode sums=new ListNode(0);
ListNode sum=sums;
ListNode p=l1;
ListNode q=l2;
int flag=0;
while(p!=null||q!=null){
int s,a=0,b=0;
if(p!=null) a=p.val;
if(q!=null) b=q.val;
sum.next = new ListNode((a+b+flag) % 10);
flag=(a+b+flag)/10;
sum=sum.next;
if(p!=null) p=p.next;
if(q!=null) q=q.next;
}
if(flag==1){
sum.next=new ListNode(1);
}
sums=sums.next;
return sums;
}
结果:3ms