题目链接:2. 两数相加 - 力扣(LeetCode)
基本思路同:【leetcode】大数相加-CSDN博客
数值的位置已经倒过来了,用一个进位记录进位,用一个数记录和,链表到空了就当成0
class Solution {
public:ListNode *addTwoNumbers(ListNode *l1, ListNode *l2) {ListNode *head = nullptr, *tail = nullptr;int carry = 0;while (l1 || l2 || carry) {int a = l1 == nullptr ? 0 : l1->val;int b = l2 == nullptr ? 0 : l2->val;int sum = a + b + carry;if (head == nullptr)head = tail = new ListNode(sum % 10);else {tail->next = new ListNode(sum % 10);tail = tail->next;}carry = sum / 10;if (l1)l1 = l1->next;if (l2)l2 = l2->next;}return head;}
};