Skip to content

Commit e1695d7

Browse files
committed
solution: reverse-linked-list
1 parent b601b5d commit e1695d7

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed

reverse-linked-list/wozlsla.py

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
"""
2+
# Complexity
3+
time : O(N)
4+
space : O(1) / O(N)
5+
"""
6+
7+
# Definition for singly-linked list.
8+
# class ListNode:
9+
# def __init__(self, val=0, next=None):
10+
# self.val = val
11+
# self.next = next
12+
13+
14+
class Solution:
15+
def reverseList(self, head: Optional[ListNode]) -> Optional[ListNode]:
16+
17+
prev = None
18+
curr = head
19+
20+
while curr:
21+
nxt = curr.next
22+
curr.next = prev
23+
prev = curr
24+
curr = nxt
25+
26+
return prev
27+
28+
29+
""" Stack
30+
class Solution:
31+
def reverseList(self, head: Optional[ListNode]) -> Optional[ListNode]:
32+
33+
stack = []
34+
node = head
35+
36+
while node:
37+
stack.append(node)
38+
node = node.next
39+
40+
dummy = ListNode(-1)
41+
node = dummy
42+
43+
while stack:
44+
node.next = stack.pop()
45+
node = node.next
46+
47+
node.next = None
48+
return dummy.next
49+
"""

0 commit comments

Comments
 (0)