Data Structures – Linked List
Problem Statement:
You are given a Linked List. Reverse the Linked List.
Example 1:
Input:
1 -> 2 -> 3 -> 4 -> 5 -> NULL
Expected Output:
5 -> 4 -> 3 -> 2 -> 1 -> NULL
Solution:
Python:
class Node: def __init__(self, data): self.data = data self.next = Nonedef reverse_list(head): prev = None curr = head while curr: next = curr.next curr.next = prev prev = curr curr = next return prevdef print_list(node): while node: print(node.data, end=" -> ") node = node.next print("NULL")# Example usagehead = Node(1)head.next = Node(2)head.next.next = Node(3)head.next.next.next = Node(4)head.next.next.next.next = Node(5)print("Given Linked List:")print_list(head)reversed_head = reverse_list(head)print("Reversed Linked List:")print_list(reversed_head)
Output:

