/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
#define null 0
struct ListNode* addTwoNumbers(struct ListNode* l1, struct ListNode* l2) {
struct ListNode* p;
struct ListNode* q;
p=l1;
q=l2;
int flag=0;
int sum;
for(p=l1,q=l2;p->next!=null && q->next!=null;p=p->next,q=q->next){
p->val += q->val;
p->val +=flag;
flag = p->val / 10;
if(flag){
p->val %= 10;
}
}
p->val = p->val + q->val + flag;
flag = p->val / 10;
p->val %= 10;
if(q->next){
p->next=q->next;
}
while(p->next){
p=p->next;
p->val += flag;
flag = p->val / 10;
if(flag){
p->val %= 10;
}
}
if(flag){
struct ListNode* temp;
temp=(struct ListNode*)malloc(sizeof(struct ListNode));
temp->val = flag;
temp->next=null;
p->next=temp;
}
return l1;
}
Add Two Numbers(leetcode)
最新推荐文章于 2019-06-22 08:33:56 发布
本文介绍了一种算法,该算法将两个表示为逆序链表形式的非负整数相加,并以同样的链表形式返回结果。通过遍历链表节点并处理进位逻辑来实现这一功能。

237

被折叠的 条评论
为什么被折叠?



