DEV Community

Luckshvadhan B
Luckshvadhan B

Posted on

Reverse a Linked List

Approach:

Step 1 Take the linked list
Step 2 Use three pointers prev current next
Step 3 Reverse link of each node
Step 4 Move pointers forward
Step 5 Return prev

Why this works???
We change direction of links
so list gets reversed

Code:
class ListNode:
def init(self,val=0,next=None):
self.val=val
self.next=next
def reverseList(head):
prev=None
curr=head
while curr:
nxt=curr.next
curr.next=prev
prev=curr
curr=nxt
return prev

Limitation:
Linked list concept required

Top comments (0)