逮到水题一个:)我的方法是读入字符串后遍历,如果当前字母与前一个字母相等,就从a开始遍历二十四字母,找到与前一个字符和后一个字母都不相同的字母就赋值给当前字母。ps:不超时~~
#include <iostream>
#include <string>
#include <cstring>
#include <cmath>
#include <cstdio>
#define maxn 200020
using namespace std;
char str[maxn];
int main()
{
while(gets(str)!=NULL)
{
int len=strlen(str);
for(int i=0;i<len;i++)
{
if(str[i]==str[i-1])
{
for(int j='a';j<='z';j++)
{
if(j!=str[i-1]&&j!=str[i+1])
{
str[i]=j;
break;
}
}
}
}
puts(str);
}
return 0;
}