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> |
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
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!