class Solution {
public:
ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
ListNode* head = new ListNode(0);
ListNode* p = head;
int cal = 0, tmp;
while(l1 != nullptr && l2 != nullptr){
tmp = (l1->val + l2->val + cal);
cal = tmp / 10;
p->next = new ListNode( tmp % 10);
p = p->next;
l1 = l1->next;
l2 = l2->next;
}
while(l1 != nullptr){
tmp = (l1->val + cal);
cal = tmp / 10;
p->next = new ListNode( tmp % 10);
p = p->next;
l1 = l1->next;
}
while(l2 != nullptr){
tmp = (l2->val + cal);
cal = tmp / 10;
p->next = new ListNode( tmp % 10);
p = p->next;
l2 = l2->next;
}
if( cal != 0)
{
p->next = new ListNode(cal);
p = p->next;
}
return head->next;
}
};
leetcode 2.Add Two Numbers
最新推荐文章于 2025-11-25 12:02:55 发布
本文介绍了一个C++实现的链表加法算法,该算法能够处理两个由链表表示的数相加的操作,通过遍历链表节点并进行数值计算,最终返回一个表示两数之和的新链表。
798

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



