给定两个非空链表逆序存储的的非负整数,每个节点只存储一位数组。
请你把两个链表相加以下相同方法返回链表,保证两个数都不会以 0 开头。
数据范围: ,每个节点的值都满足
struct ListNode* ListAdd(struct ListNode* l1, struct ListNode* l2 ) { if(l1==NULL)return l2; struct ListNode*p=l1,*q=l2,*pre=l1; int temp=0; while(p&&q) { int now=p->val+q->val+temp; p->val=now%10; temp=now/10; pre=p; p=p->next; q=q->next; } if(q){ pre->next=q; p=pre->next; } while(p) { int now=p->val+temp; p->val=now%10; temp=now/10; pre=p; p=p->next; } if(temp) { struct ListNode* jinwei=(struct ListNode*)malloc(sizeof(struct ListNode)); jinwei->val=temp; pre->next=jinwei; jinwei->next=NULL; } return l1; }