题意理解:
将两个链表的值对应相加;
题目解析:
注意相加进位;
解题代码:
class Solution {
public:
ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
ListNode* pL1=l1;
ListNode* pL2=l2;
ListNode* pAns=NULL;
ListNode* pIndex;
int carry=0;
while(pL1!=NULL || pL2!=NULL){
int sum=0;
sum+=carry;
if(pL1!=NULL){
sum+=pL1->val;
pL1=pL1->next;
}
if(pL2!=NULL){
sum+=pL2->val;
pL2=pL2->next;
}
carry=sum/10;
sum%=10;
if(pAns==NULL){
pAns=new ListNode(sum);
pIndex=pAns;
}else{
pIndex->next=new ListNode(sum);
pIndex=pIndex->next;
}
}
if(carry!=0){
pIndex->next=new ListNode(carry);
}
return pAns;
}
};