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