1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| class Solution { public: ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) { ListNode* h = new ListNode(0), *nh = h; int add = 0; while(l1 && l2) { int val = l1->val + l2->val + add; nh->next = new ListNode(val % 10); add = val / 10; l1 = l1->next; l2 = l2->next; nh = nh->next; } if(!l1) l1 = l2; while(l1) { int val = l1->val + add; nh->next = new ListNode(val % 10); add = val / 10; l1 = l1->next; nh = nh->next; } if(add) nh->next = new ListNode(add); return h->next; } };
|
Accepted
1563/1563 cases passed (24 ms)
Your runtime beats 72.27 % of cpp submissions
Your memory usage beats 5.26 % of cpp submissions (10.5 MB)