Skip to content

Commit 3d4f870

Browse files
committed
✨ [q2] js
1 parent d66e040 commit 3d4f870

File tree

1 file changed

+85
-0
lines changed

1 file changed

+85
-0
lines changed

2_add_two_numbers/solution.js

+85
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
function ListNode(val, next) {
2+
this.val = (val === undefined ? 0 : val)
3+
this.next = (next === undefined ? null : next)
4+
}
5+
6+
/**
7+
* @param {ListNode} l1
8+
* @param {ListNode} l2
9+
* @return {ListNode}
10+
*/
11+
// Input: l1 = [2,4,3], l2 = [5,6,4]
12+
// Output: [7,0,8]
13+
// Explanation: 342 + 465 = 807.
14+
15+
var addTwoNumbers = function (l1, l2) {
16+
let num_carried = 0
17+
let res, curr = null;
18+
19+
while (l1 || l2) {
20+
let num1, num2, val = 0;
21+
22+
if (l1) {
23+
num1 = l1.val;
24+
l1 = l1.next;
25+
}
26+
if (l2) {
27+
num2 = l2.val;
28+
l2 = l2.next;
29+
}
30+
31+
val = num1 + num2 + num_carried;
32+
33+
if (val > 9) { // 10, 11, 12, etc.
34+
val = val - 10;
35+
num_carried = 1;
36+
} else {
37+
num_carried = 0;
38+
}
39+
40+
// QUESTION: I dont understand this ifelse and how is res being set.
41+
if (res) {
42+
console.log(`--- have ${val} ---`)
43+
console.log("res:")
44+
console.log(res)
45+
console.log("curr:")
46+
console.log(curr)
47+
// console.log("curr.next:")
48+
// console.log(curr.next)
49+
50+
curr.next = new ListNode(val);
51+
curr = curr.next;
52+
53+
console.log("res:")
54+
console.log(res)
55+
console.log("curr:")
56+
console.log(curr)
57+
58+
} else {
59+
console.log("dont have aka first time")
60+
res = new ListNode(val);
61+
curr = res;
62+
}
63+
64+
// if (res) {
65+
// curr.next = new ListNode(val);
66+
// curr = curr.next;
67+
// } else {
68+
// res = new ListNode(val);
69+
// curr = res;
70+
// }
71+
72+
}
73+
74+
if (num_carried) curr.next = new ListNode(num_carried);
75+
76+
// QUESTION: How is res being set???
77+
return res;
78+
}
79+
80+
81+
// addTwoNumbers([2, 4, 3], [5, 6, 4])
82+
addTwoNumbers(
83+
ListNode(2, ListNode(4, ListNode(3))),
84+
ListNode(5, ListNode(6, ListNode(4)))
85+
)

0 commit comments

Comments
 (0)