In this example, we will check given string is palindrome or not
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
void palindrome(string str){
string str1 = str;
reverse(str1.begin(),str1.end());
if(str1 == str)
cout<<"Is palindorme"<<endl;
else
cout<<"Not Palindrome"<<endl;
}
int main(){
string str = "ABCDCB";
palindrome(str);
return 0;
}
Output:
Not Palindrome
Explanation:
Step1: palindrome Function
void palindrome(string str){
string str1 = str;
reverse(str1.begin(), str1.end());
if(str1 == str)
cout<<"Is palindorme"<<endl;
else
cout<<"Not Palindrome"<<endl;
}
Breakdown of the Function:
- Input: The function takes a string
stras input. - Copy the String:
string str1 = str;creates a copy of the input stringstrand stores it instr1. - Reverse the Copy:
reverse(str1.begin(), str1.end());
This line uses the reverse() function from the <algorithm> library. The function takes two arguments:
str1.begin(): An iterator pointing to the first character ofstr1.str1.end(): An iterator pointing just past the last character ofstr1. After this operation,str1is the reversed version ofstr.
Check for Palindrome:
if(str1 == str)
cout<<"Is palindorme"<<endl;
else
cout<<"Not Palindrome"<<endl;
After reversing the string, the program checks if str1 (the reversed string) is equal to str (the original string):
- If
str1 == str, it means the original string reads the same forward and backward, so it’s a palindrome, and the message"Is palindorme"is printed (note: there’s a small typo here which we’ll correct). - If they are not equal, the message
"Not Palindrome"is printed.
Step2: main() Function
int main(){
string str = "ABCDCB";
palindrome(str);
return 0;
}
- The string
stris initialized with the value"ABCDCB". - The
palindrome(str)function is called to check if this string is a palindrome.
