Python Program to Check if Singly Linked List is Palindrome

Palindrome detection is a common problem in computer science, where a palindrome is a string or sequence of elements that reads the same forwards as it does backwards. This python program addresses the task of checking whether a singly linked list is a palindrome or not.

Problem statement

Given a singly linked list, your goal is to determine whether the list is a palindrome. A singly linked list is considered a palindrome if the sequence of elements remains the same when read from the beginning to the end as well as from the end to the beginning.

Python Program to Check if Singly Linked List is Palindrome

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 is_palindrome(self):
        elements = []
        current = self.head
        while current:
            elements.append(current.data)
            current = current.next
        return elements == elements[::-1]

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

print("Linked List:")
current = linked_list.head
while current:
    print(current.data, end=" -> ")
    current = current.next
print("None")

if linked_list.is_palindrome():
    print("\nThe linked list is a palindrome.")
else:
    print("\nThe linked list is not a palindrome.")
  

Input / Output

Python Program to Check if Singly Linked List is Palindrome

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...