class Solution {
public:
ListNode
* addTwoNumbers(ListNode
* l1
, ListNode
* l2
) {
ListNode
*ans
= nullptr;
ListNode
*returnValue
= ans
;
int carryFlag
= 0;
while (l1
!= NULL || l2
!= NULL)
{
int n1
= l1
? l1
->val
: 0;
int n2
= l2
? l2
->val
: 0;
int nowVal
= n1
+ n2
+ carryFlag
;
if (carryFlag
== 1) carryFlag
= 0;
if (nowVal
>= 10)
{
nowVal
= nowVal
% 10;
carryFlag
= 1;
}
if (!returnValue
)
{
returnValue
= ans
= new ListNode(nowVal
);
}
else
{
ans
->next
= new ListNode(nowVal
);
ans
= ans
->next
;
}
if (l1
) l1
= l1
->next
;
if (l2
) l2
= l2
->next
;
}
if (carryFlag
== 1)
{
ans
->next
= new ListNode(1);
ans
= ans
->next
;
}
return returnValue
;
}
};
菜是真的菜TvT
转载请注明原文地址:https://blackberry.8miu.com/read-9885.html