
class Node: |
def __init__(self, data): |
self.data = data |
self.next = None |
def reverse_linked_list(head): |
prev = None |
curr = head |
while curr: |
next_node = curr.next |
curr.next = prev |
prev = curr |
curr = next_node |
return prev |
# Example usage |
# Create a linked list: 1 -> 2 -> 3 -> 4 -> None |
head = Node(1) |
node2 = Node(2) |
node3 = Node(3) |
node4 = Node(4) |
head.next = node2 |
node2.next = node3 |
node3.next = node4 |
# Reverse the linked list |
reversed_head = reverse_linked_list(head) |
# Print the reversed linked list |
curr = reversed_head |
while curr: |
print(curr.data) |
curr = curr.next |



