Skip to content

Commit 12eada4

Browse files
committed
Add Two Numbers
1 parent f47dbc4 commit 12eada4

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

2.cpp

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
/**
2+
* Definition for singly-linked list.
3+
* struct ListNode {
4+
* int val;
5+
* ListNode *next;
6+
* ListNode(int x) : val(x), next(NULL) {}
7+
* };
8+
*/
9+
class Solution {
10+
public:
11+
ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
12+
int carry = 0;
13+
ListNode * head = new ListNode(0);
14+
ListNode * curr = head;
15+
while (l1 != NULL || l2 != NULL || carry) {
16+
int l1_val = l1 == NULL ? 0 : l1 -> val;
17+
int l2_val = l2 == NULL ? 0 : l2 -> val;
18+
int val = l1_val + l2_val + carry;
19+
curr -> next = new ListNode(val % 10);
20+
carry = val / 10;
21+
l1 = l1 == NULL ? NULL : l1 -> next;
22+
l2 = l2 == NULL ? NULL : l2 -> next;
23+
curr = curr -> next;
24+
}
25+
return head -> next;
26+
}
27+
};

0 commit comments

Comments
 (0)