Skip to content

Commit ae52288

Browse files
Chris WuChris Wu
Chris Wu
authored and
Chris Wu
committed
no message
1 parent 6cc435b commit ae52288

File tree

1 file changed

+41
-20
lines changed

1 file changed

+41
-20
lines changed

problems/reverse-linked-list.py

Lines changed: 41 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,45 @@
11
#https://leetcode.com/problems/reverse-linked-list/
2-
class Solution(object):
3-
#iterative
4-
def reverseList(self, head):
5-
prev = None
6-
current = head
7-
while current:
8-
temp = current.next
9-
current.next = prev
10-
prev = current
11-
current = temp
2+
# class Solution(object):
3+
# #iterative
4+
# def reverseList(self, head):
5+
# prev = None
6+
# current = head
7+
# while current:
8+
# temp = current.next
9+
# current.next = prev
10+
# prev = current
11+
# current = temp
12+
13+
# return prev
1214

13-
return prev
15+
# #recursive
16+
# def reverseList(self, head):
17+
# if head is None or head.next is None:
18+
# return head
1419

15-
#recursive
16-
def reverseList(self, head):
17-
if head is None or head.next is None:
18-
return head
20+
# new_head = self.reverseList(head.next)
21+
# n = head.next
22+
# n.next = head
23+
# head.next = None
24+
# return new_head
1925

20-
new_head = self.reverseList(head.next)
21-
n = head.next
22-
n.next = head
23-
head.next = None
24-
return new_head
26+
#recursive
27+
class Solution(object):
28+
def reverseList(self, node):
29+
if node and node.next:
30+
new_head = self.reverseList(node.next)
31+
node.next.next = node
32+
node.next = None
33+
return new_head
34+
return node
35+
36+
#iterative
37+
class Solution(object):
38+
def reverseList(self, node):
39+
pre = None
40+
while node:
41+
next_node = node.next
42+
node.next = pre
43+
if not next_node: return node
44+
pre = node
45+
node = next_node

0 commit comments

Comments
 (0)