Skip to content

Commit 1bfd15f

Browse files
refactor 2
1 parent 88fc6a8 commit 1bfd15f

File tree

1 file changed

+12
-7
lines changed
  • src/main/java/com/fishercoder/solutions

1 file changed

+12
-7
lines changed

src/main/java/com/fishercoder/solutions/_2.java

+12-7
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,15 @@
44

55
public class _2 {
66
public static class Solution1 {
7+
/**
8+
* My completely original solution on 10/24/2021.
9+
*/
710
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
8-
ListNode result = new ListNode(0);
9-
ListNode tmp = result;
10-
int sum = 0;
11+
int carry = 0;
12+
ListNode pre = new ListNode(-1);
13+
ListNode tmp = pre;
1114
while (l1 != null || l2 != null) {
12-
sum /= 10;
15+
int sum = 0;
1316
if (l1 != null) {
1417
sum += l1.val;
1518
l1 = l1.next;
@@ -18,13 +21,15 @@ public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
1821
sum += l2.val;
1922
l2 = l2.next;
2023
}
24+
sum += carry;
2125
tmp.next = new ListNode(sum % 10);
2226
tmp = tmp.next;
27+
carry = sum / 10;
2328
}
24-
if (sum / 10 == 1) {
25-
tmp.next = new ListNode(1);//this means there's a carry, so we add additional 1, e.g. [5] + [5] = [0, 1]
29+
if (carry != 0) {
30+
tmp.next = new ListNode(carry);
2631
}
27-
return result.val == 0 ? result.next : result;
32+
return pre.next;
2833
}
2934
}
3035

0 commit comments

Comments
 (0)