Program to check if an Array is Palindrome or not using STL in C++
Given an array, the task is to determine whether an array is a palindrome or not, using STL in C++.
Examples:
Input: arr[] = {3, 6, 0, 6, 3} Output: Palindrome Input: arr[] = {1, 2, 3, 4, 5} Output: Not Palindrome
Approach:
- Get the reverse of the Array using reverse() method, provided in STL.
- Initialise flag to unset int flag = 0.
- Loop the array till size n and check if the original array and the reversed array are same. If not set flag = 1
- After the loop has ended, If flag is set the print “Not Palindrome” else print “Palindrome”
Below is the implementation of above Approach:
// C++ program to check if an Array // is Palindrome or not using STL #include <bits/stdc++.h> using namespace std; void palindrome( int arr[], int n) { // Initialise flag to zero. int flag = 0; // Create another array // to store the original array int arr2[n]; memcpy (arr2, arr, n * sizeof ( int )); // Reverse the array reverse(arr, arr + n); // Check if the array is Palindrome for ( int i = 0; i < n; i++) if (arr[i] != arr2[i]) { flag = 1; break ; } // Print the result if (flag == 0) cout << "Palindrome\n" ; else cout << "Not Palindrome\n" ; } int main() { // Get the array int arr[] = { 1, 2, 3, 2, 1 }; // Compute the size int n = sizeof (arr) / sizeof (arr[0]); palindrome(arr, n); return 0; } |
Output:
Palindrome
Related Articles:
- https://www.geeksforgeeks.org/program-to-check-if-an-array-is-palindrome-or-not/
- https://www.geeksforgeeks.org/program-to-check-if-an-array-is-palindrome-or-not-using-recursion/
Attention reader! Don’t stop learning now. Get hold of all the important C++ Foundation and STL concepts with the C++ Foundation and STL courses at a student-friendly price and become industry ready.