//Definition for singly-linked list.
struct ListNode {
int val;
ListNode *next;
ListNode() : val(0), next(nullptr) {}
ListNode(int x) : val(x), next(nullptr) {}
ListNode(int x, ListNode *next) : val(x), next(next) {}
};
ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
ListNode*p1=l1;
ListNode*p2=l2;
ListNode*res=new ListNode();
ListNode*p3=res;
int jinwei=0;
while(p1||p2||jinwei){
int tmp=jinwei;
jinwei=0;
if(p1){
tmp+=p1->val;
p1=p1->next;
}
if(p2){
tmp+=p2->val;
p2=p2->next;
}
if(tmp>=10){
jinwei=1;
tmp-=10;
}
p3->next=new ListNode(tmp);
p3=p3->next;
}
return res->next;
}
【LeetCode】两数相加
合并两个整数链表,
最新推荐文章于 2025-10-23 12:31:40 发布
文章详细解释了如何使用单链表结构ListNode实现将两个整数链表相加的函数addTwoNumbers,通过迭代处理进位问题。
222

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



