Leetcode 445. Add Two Numbers II | | Leetcode 445. Add Two Numbers II 文章作者:Tyan博客:noahsnail.com | CSDN | 简书 1. Description 2. Solution123456789101112131415161718192021222324252627282930313233343536373839404142434445464748/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) { stack<int> s1, s2; ListNode* current = l1; while(current) { s1.push(current->val); current = current->next; } current = l2; while(current) { s2.push(current->val); current = current->next; } int carry = 0; int sum = 0; ListNode* pre = nullptr; while(!s1.empty() || !s2.empty()) { sum = 0; if(!s1.empty()) { sum += s1.top(); s1.pop(); } if(!s2.empty()) { sum += s2.top(); s2.pop(); } sum += carry; carry = sum>9?1:0; current = new ListNode(sum % 10); current->next = pre; pre = current; } if(carry) { current = new ListNode(1); current->next = pre; } return current; }}; Reference https://leetcode.com/problems/add-two-numbers-ii/description/ 如果有收获,可以请我喝杯咖啡! 赏 微信打赏 支付宝打赏