数字反过来这个没有什么麻烦,就是镜像的去算十进制加法就可以了,然后就是简单的链表。
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
class Solution {
public:
ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
ListNode Ans();
ListNode *p=&Ans;
int more=;
while(l1||l2||more){
int x=(l1?l1->val:)+(l2?l2->val:)+more;
if(l1) l1=l1->next;
if(l2) l2=l2->next;
more=x/;
p->next=new ListNode(x%);
p=p->next;
}
return Ans.next;
}
};