We know iterative ways to find out whether string is palindrome or not but here i will be discussing the recursive way.
- Transform the string to lower case to cater cases like Nitin.
- Then traverse the string from start and end using recursion till start is less than end.
Output : String is (not) Palindrome
Implementation
#include<iostream>
#include<string>
using namespace std;
bool Palindrome(string s, int start,int end)
{
if(start>end)
return true;
else if(s[start]==s[end])
{
return Palindrome(s,++start,--end);
}
else
return false;
}
int main()
{
string s;
cin>>s;
#include<string>
using namespace std;
bool Palindrome(string s, int start,int end)
{
if(start>end)
return true;
else if(s[start]==s[end])
{
return Palindrome(s,++start,--end);
}
else
return false;
}
int main()
{
string s;
cin>>s;
//Converting the string to lower case
transform(s.begin(),s.end(),s.begin(),::tolower);
if(Palindrome(s,0,s.length()-1))
cout<<"String is Palindrome";
else
cout<<"String is not Palindrome";
getchar();
return 0;
}
cout<<"String is Palindrome";
else
cout<<"String is not Palindrome";
getchar();
return 0;
}
Please comment if you find anything incorrect
No comments:
Post a Comment