Skip to content

Commit 9defd5e

Browse files
committed
refactor: 206. Reverse Linked List space complexity to O(1)
1 parent e7dc805 commit 9defd5e

File tree

1 file changed

+9
-22
lines changed

1 file changed

+9
-22
lines changed

reverse-linked-list/gwbaik9717.js

Lines changed: 9 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// Time complexity: O(n)
2-
// Space complexity: O(n)
2+
// Space complexity: O(1)
33

44
/**
55
* Definition for singly-linked list.
@@ -13,28 +13,15 @@
1313
* @return {ListNode}
1414
*/
1515
var reverseList = function (head) {
16-
const stack = [];
16+
let current = head;
17+
let prev = null;
1718

18-
let temp = head;
19-
while (temp) {
20-
stack.push(temp.val);
21-
temp = temp.next;
19+
while (current) {
20+
const node = new ListNode(current.val);
21+
node.next = prev;
22+
prev = node;
23+
current = current.next;
2224
}
2325

24-
if (!stack.length) {
25-
return null;
26-
}
27-
28-
const popped = stack.pop();
29-
const answer = new ListNode(popped);
30-
31-
temp = answer;
32-
while (stack.length > 0) {
33-
const popped = stack.pop();
34-
35-
temp.next = new ListNode(popped);
36-
temp = temp.next;
37-
}
38-
39-
return answer;
26+
return prev;
4027
};

0 commit comments

Comments
 (0)