Python Program to Reverse First N Elements of a Linked List

A linked list is a linear data structure used in computer science to store and manage collections of elements. In this Python program, we tackle the problem of reversing the order of the first N elements in a given linked list while leaving the rest of the list unchanged.

Problem Statement

Given a linked list and a positive integer N, reverse the order of the first N elements in the list, while keeping the remaining elements unchanged.

Python Program to Reverse First N Elements of a Linked List

class Node:
    def __init__(self, data):
        self.data = data
        self.next = None

class LinkedList:
    def __init__(self):
        self.head = None
    
    def append(self, data):
        new_node = Node(data)
        if not self.head:
            self.head = new_node
        else:
            current = self.head
            while current.next:
                current = current.next
            current.next = new_node
    
    def reverse_first_n(self, n):
        prev = None
        current = self.head
        for _ in range(n):
            if current:
                next_node = current.next
                current.next = prev
                prev = current
                current = next_node
        self.head = prev
    
    def display(self):
        current = self.head
        while current:
            print(current.data, end=" -> ")
            current = current.next
        print("None")

# Input: Creating a linked list
linked_list = LinkedList()
elements = [1, 2, 3, 4, 5, 6, 7, 8, 9]
for element in elements:
    linked_list.append(element)

n = 4  # Number of elements to reverse

print("Original Linked List:")
linked_list.display()

linked_list.reverse_first_n(n)

print("\nLinked List after Reversing First", n, "Elements:")
linked_list.display()

Input / Output

Python Program to Reverse First N Elements of a Linked List

Leave A Reply

Your email address will not be published. Required fields are marked *

You May Also Like

In this python tutorial, you will learn how to Display Prime Numbers Between Two Intervals using the if and else...
In this python tutorial, you will learn how to Calculate Standard Deviation with built in functions of the python programming...
In this Python program, we will convert temperature values from Celsius to Fahrenheit. The Celsius and Fahrenheit scales are two...