Skip to content

Commit bed6349

Browse files
committed
Updated Add Two Numbers II.java
1 parent b0b2dba commit bed6349

File tree

1 file changed

+34
-34
lines changed

1 file changed

+34
-34
lines changed

Medium/Add Two Numbers II.java

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -9,40 +9,40 @@
99
* }
1010
*/
1111
class Solution {
12-
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
13-
ListNode revL1 = reverse(l1);
14-
ListNode revL2 = reverse(l2);
15-
ListNode dummy = new ListNode(0);
16-
ListNode curr = dummy;
17-
int carry = 0;
18-
while (revL1 != null || revL2 != null || carry != 0) {
19-
if (revL1 != null && revL2 != null) {
20-
carry += revL1.val + revL2.val;
21-
revL1 = revL1.next;
22-
revL2 = revL2.next;
23-
} else if (revL1 != null && revL2 == null) {
24-
carry += revL1.val;
25-
revL1 = revL1.next;
26-
} else if (revL1 == null && revL2 != null) {
27-
carry += revL2.val;
28-
revL2 = revL2.next;
29-
}
30-
curr.next = new ListNode(carry % 10);
31-
carry /= 10;
32-
curr = curr.next;
12+
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
13+
ListNode rev1 = reverse(l1);
14+
ListNode rev2 = reverse(l2);
15+
ListNode dummy = new ListNode();
16+
ListNode curr = dummy;
17+
int carry = 0;
18+
while (rev1 != null || rev2 != null || carry > 0) {
19+
if (rev1 != null && rev2 != null) {
20+
carry += rev1.val + rev2.val;
21+
rev1 = rev1.next;
22+
rev2 = rev2.next;
23+
} else if (rev1 == null && rev2 != null) {
24+
carry += rev2.val;
25+
rev2 = rev2.next;
26+
} else if (rev1 != null && rev2 == null) {
27+
carry += rev1.val;
28+
rev1 = rev1.next;
29+
}
30+
curr.next = new ListNode(carry % 10);
31+
curr = curr.next;
32+
carry /= 10;
33+
}
34+
return reverse(dummy.next);
3335
}
34-
return reverse(dummy.next);
35-
}
36-
37-
private ListNode reverse(ListNode root) {
38-
ListNode curr = root;
39-
ListNode prev = null;
40-
while (curr != null) {
41-
ListNode next = curr.next;
42-
curr.next = prev;
43-
prev = curr;
44-
curr = next;
36+
37+
private ListNode reverse(ListNode node) {
38+
ListNode curr = node;
39+
ListNode prev = null;
40+
while (curr != null) {
41+
ListNode next = curr.next;
42+
curr.next = prev;
43+
prev = curr;
44+
curr = next;
45+
}
46+
return prev;
4547
}
46-
return prev;
47-
}
4848
}

0 commit comments

Comments
 (0)