Open In App

Program to check if an Array is Palindrome or not

Improve
Improve
Like Article
Like
Save
Share
Report

Given an array, the task is to determine whether an array is a palindrome or not.
Examples: 
 

Input: arr[] = {3, 6, 0, 6, 3}
Output: Palindrome

Input: arr[] = {1, 2, 3, 4, 5}
Output: Not Palindrome

 

Approach: 
 

  • Initialise flag to unset int flag = 0.
  • Loop the array till size n/2
  • In a loop check if arr[i]! = arr[n-i-1] then set the flag = 1 and break
  • After the loop has ended, If the flag is set to 1 then print “Not Palindrome” else print “Palindrome”

Below is the implementation of above Approach:
 

C++




// C++ Program to check whether the
// Array is palindrome or not
 
#include <iostream>
using namespace std;
 
void palindrome(int arr[], int n)
{
    // Initialise flag to zero.
    int flag = 0;
 
    // Loop till array size n/2.
    for (int i = 0; i <= n / 2 && n != 0; i++) {
 
        // Check if first and last element are different
        // Then set flag to 1.
        if (arr[i] != arr[n - i - 1]) {
            flag = 1;
            break;
        }
    }
 
    // If flag is set then print Not Palindrome
    // else print Palindrome.
    if (flag == 1)
        cout << "Not Palindrome";
    else
        cout << "Palindrome";
}
 
// Driver code.
int main()
{
    int arr[] = { 1, 2, 3, 2, 1 };
    int n = sizeof(arr) / sizeof(arr[0]);
 
    palindrome(arr, n);
    return 0;
}


Java




// Java Program to check whether the
// Array is palindrome or not
 
class GfG {
 
    static void palindrome(int arr[], int n)
    {
        // Initialise flag to zero.
        int flag = 0;
 
        // Loop till array size n/2.
        for (int i = 0; i <= n / 2 && n != 0; i++) {
 
            // Check if first and last element are different
            // Then set flag to 1.
            if (arr[i] != arr[n - i - 1]) {
                flag = 1;
                break;
            }
        }
 
        // If flag is set then print Not Palindrome
        // else print Palindrome.
        if (flag == 1)
            System.out.println("Not Palindrome");
        else
            System.out.println("Palindrome");
    }
 
    // Driver code.
    public static void main(String[] args)
    {
        int arr[] = { 1, 2, 3, 2, 1 };
        int n = arr.length;
 
        palindrome(arr, n);
    }
}


Python3




# Python3 Program to check whether the
# Array is palindromic or not
def palindrome(arr, n):
 
    # Initialise flag to zero.
    flag = 0;
 
    # Loop till array size n/2.
    i = 0;
    while (i <= n // 2 and n != 0):
 
        # Check if first and last element
        # are different. Then set flag to 1.
        if (arr[i] != arr[n - i - 1]):
            flag = 1;
            break;
        i += 1;
 
    # If flag is set then print Not Palindrome
    # else print Palindrome.
    if (flag == 1):
        print("Not Palindrome");
    else:
        print("Palindrome");
 
# Driver code.
arr = [ 1, 2, 3, 2, 1 ];
n = len(arr);
 
palindrome(arr, n);
 
# This code is contributed
# by chandan_jnu


C#




// C# Program to check whether the
// Array is palindromic or not
class GfG
{
 
    static void palindrome(int []arr, int n)
    {
        // Initialise flag to zero.
        int flag = 0;
 
        // Loop till array size n/2.
        for (int i = 0; i <= n / 2 && n != 0; i++)
        {
 
            // Check if first and last element are different
            // Then set flag to 1.
            if (arr[i] != arr[n - i - 1])
            {
                flag = 1;
                break;
            }
        }
 
        // If flag is set then print Not Palindrome
        // else print Palindrome.
        if (flag == 1)
            System.Console.WriteLine("Not Palindrome");
        else
            System.Console.WriteLine("Palindrome");
    }
 
    // Driver code.
    static void Main()
    {
        int []arr = { 1, 2, 3, 2, 1 };
        int n = arr.Length;
 
        palindrome(arr, n);
    }
}
 
// This code is contributed by chadan_jnu


PHP




<?php
// PHP Program to check whether the
// Array is palindrome or not
 
function palindrome($arr, $n)
{
    // Initialise flag to zero.
    $flag = 0;
 
    // Loop till array size n/2.
    for ($i = 0; $i <= $n / 2 &&
                 $n != 0; $i++)
    {
 
        // Check if first and last element are
        // different then set flag to 1.
        if ($arr[$i] != $arr[$n - $i - 1])
        {
            $flag = 1;
            break;
        }
    }
 
    // If flag is set then print Not Palindrome
    // else print Palindrome.
    if ($flag == 1)
        echo "Not Palindrome";
    else
        echo "Palindrome";
}
 
// Driver code.
$arr = array( 1, 2, 3, 2, 1 );
$n = count($arr);
 
palindrome($arr, $n);
 
// This code is contributed by chandan_jnu
?>


Javascript




<script>
 
// Javascript Program to check whether the
// Array is palindrome or not
  
function palindrome(arr, n)
{
    // Initialise flag to zero.
    let flag = 0;
 
    // Loop till array size n/2.
    for (let i = 0; i <= n / 2 && n != 0; i++) {
 
        // Check if first and last element are different
        // Then set flag to 1.
        if (arr[i] != arr[n - i - 1]) {
            flag = 1;
            break;
        }
    }
 
    // If flag is set then print Not Palindrome
    // else print Palindrome.
    if (flag == 1)
        document.write("Not Palindrome");
    else
        document.write("Palindrome");
}
 
// Driver code.
  
    let arr = [ 1, 2, 3, 2, 1 ];
    let n = arr.length;
 
    palindrome(arr, n);
 
// This code is contributed by Mayank Tyagi
 
</script>


Output: 

Palindrome

 

Time complexity: O(n) where n is size of given array

Auxiliary space: O(1)

Related Article: Program to check if an array is palindrome or not using Recursion
 



Last Updated : 20 Jan, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads