回文字符串定义
前后对称的字符串,例如assa,asvsa等
回文字符串判断方法
采用枚举法,两个指针,一个从头,一个从尾,一一对比,直至相遇。
一般回文字符串判断方法
int panduan(char *s, int lens)
{
for (int i = 0, j = lens - 1; i <= lens / 2; i++, j--)
{
if (s[i] != s[j])
return -1;
}
return 1;
}
字符串中回文字符串的最大长度
#include <iostream>
#include <string>
using namespace std;
string s;
bool panduan(int a, int b)
{
int i = a, j = b;
while (i <= j)
{
if (s[i++] != s[j--])
return false;
}
return true;
}
int main()
{
int i, j, m, n, t;
getline(cin, s);
int maxn = 0;
n = s.length();
for (i = 0; i <= n - 1; i++)
for (j = 0; j <= n - 1; j++)
{
if (panduan(i, j) == true)
{
maxn = (maxn > (j - i + 1)) ? maxn : j - i + 1;
}
}
printf("%d", maxn);
}
有错请多多包涵!