Find the longest palindrome in a given string
SOLUTION :
#include <cstdio>
#include <iostream.h>
#include <string.h>
using namespace std;
string find(string s2,int i, int j)
{
int l=i;
int r=j;
int length=s2.length();
while(i>=0 && j<length && s2[i] == s2[j])
{
i--;
j++;
}
return s2.substr(i+1,j-i-1);
}
void palin(string s)
{
int l=s.length();
if(s.length() == 0)
{
cout<<" ";
}
string longest = s.substr(0,1);
for(int i=0; i
{
string s1=find(s,i,i);
if(s1.length() > longest.length())
{
longest=s1;
}
s1=find(s,i,i+1);
if(s1.length() > longest.length())
{
longest=s1;
}
}
cout<<"LONGEST PALINDROME IS : "<<longest;
}
int main()
{
string s;
cout<<"Enter a string : ";
getline(cin,s,'\n');
palin(s);
}
No comments:
Post a Comment