LeetCode HOT100 - 两数相加
本身就是直接模拟
主要是注意下链表的写法,比如设置一个哑节点以及如何避免末尾有多余节点之类
class Solution {
public:
ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
ListNode* dummy = new ListNode(0);
auto cur = dummy;
int flag = 0;
while (l1 || l2 || flag) {
int sum = flag;
if (l1) {
sum += l1->val;
l1 = l1->next;
}
if (l2) {
sum += l2->val;
l2 = l2->next;
}
flag = sum / 10;
cur->next = new ListNode(sum % 10);
cur = cur->next;
}
return dummy->next;
}
};

浙公网安备 33010602011771号