2014 华为机试题
vs2008
看代码
bool huiwen(string str, int n)
{
if(n < 2)
return true;
else
{
for(int i = 0; i < (n -1)/2; i++)
{
if(str[i] != str[n - 1 - i])
return false;
}
}
return true;
}
string isHuiWen(string str, int n)
{
string res;
int len = 0;
for(int i = 0; i< n - 1; i++)
{
for(int j = i; j < n; j++)
{
string s = "";
int k = i;
for(k = i; k <= j; k++)
{
s += str[k];
}
int l = k-i;
if(l > len && huiwen(s, l))
{
res = s;
len = l;
}
}
}
return res;
}
int main()
{
string str;
while(1)
{
getline(cin, str);
const char* c = str.data();
cout<<strlen(c)<<endl;
cout<<isHuiWen(str, strlen(c));
}
return 0;
}