class Solution {
public:
ListNode
* addTwoNumbers(ListNode
* l1
, ListNode
* l2
) {
int t
= 0;
# 凡是需要特判第一个点的都需要增加一个虚拟头节点
# 如果不加虚拟头节点。当插入第一个节点时候要先创建一个节点,这就要特判一下
auto dummy
= new ListNode(-1), cur
= dummy
;
while(l1
|| l2
|| t
){
if(l1
) t
+= l1
->val
, l1
= l1
->next
;
if(l2
) t
+= l2
->val
, l2
= l2
->next
;
cur
= cur
->next
= new ListNode(t
% 10);
t
/= 10;
}
# 为了防止内存泄露,删除虚拟头节点
delete dummy
return dump
->next
;
}
};
转载请注明原文地址:https://tech.qufami.com/read-6681.html