Skip to content

Commit 7a67d6e

Browse files
authored
Merge pull request keon#56 from ankit167/Reverse_linked_list_using_recursion
Added recursive solution to reverse a singly linked list.
2 parents ae7e917 + a59a788 commit 7a67d6e

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

linkedlist/reverse.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@
33
"""
44

55

6+
#
7+
# Iterative solution
8+
# T(n)- O(n)
9+
#
610
def reverse_list(head):
711
"""
812
:type head: ListNode
@@ -17,3 +21,21 @@ def reverse_list(head):
1721
current.next = prev
1822
prev = current
1923
return prev
24+
25+
26+
#
27+
# Recursive solution
28+
# T(n)- O(n)
29+
#
30+
def reverse_list_recursive(head):
31+
"""
32+
:type head: ListNode
33+
:rtype: ListNode
34+
"""
35+
if head is None or head.next is None:
36+
return head
37+
p = head.next
38+
head.next = None
39+
revrest = self.reverse(p)
40+
p.next = head
41+
return revrest

0 commit comments

Comments
 (0)