/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
struct ListNode* addTwoNumbers(struct ListNode* l1, struct ListNode* l2) {
struct ListNode *ans,*r;
ans=(struct ListNode*)malloc(sizeof(struct ListNode));
r=ans;
int carry=0;
while(l1||l2||carry){
int sum=(l1?l1->val:0)+(l2?l2->val:0)+carry;
carry=sum/10;
r->next=(struct ListNode*)malloc(sizeof(struct ListNode));
r=r->next;
r->val=sum%10;
l1=l1?l1->next:l1;
l2=l2?l2->next:l2;
}
r->next=NULL;
return ans->next;
}
用carry保存进位数,主要还是C语言listnode动态分配搞清楚
leetcode 2. 两数相加
最新推荐文章于 2022-08-03 11:51:01 发布