概述
低位在前
https://leetcode.cn/problems/sum-lists-lcci/
void handleRestBits(ListNode* cur, int extraOne)
{
while(extraOne)
{
int add = cur->val + extraOne;
extraOne = add / 10;
cur->val = add % 10;
if (extraOne && cur->next == nullptr)
{
cur->next = new ListNode{1};
break;
}
cur = cur->next;
}
}
ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
if (l1 == nullptr) return l2;
if (l2 == nullptr) return l1;
int extraOne = 0;
ListNode* cur1 = l1;
ListNode* cur2 = l2;
ListNode* pre = NULL;
while(cur1 && cur2)
{
int add = cur1->val + cur2->val + extraOne;
extraOne = add / 10;
cur1->val = cur2->val = add % 10;
pre = cur1;
cur1 = cur1->next;
cur2 = cur2->next;
}
if (cur1)
{
handleRestBits(cur1, extraOne);
return l1;
}
else if (cur2)
{
handleRestBits(cur2, extraOne);
return l2;
}
else
{
if (extraOne)
{
pre->next = new ListNode{1};
}
return l1;
}
}
最后
以上就是个性狗为你收集整理的LeetCode - 链表求和的全部内容,希望文章能够帮你解决LeetCode - 链表求和所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复