1576. 替换所有的问号
C代码:自己写的
char * modifyString(char * s){
int n = strlen(s);
for (int i = 0; i < n; ++i){
if (s[i] == '?') {
if (i != 0 && i != n-1) {
for (int j = 0; j < 26; ++j) {
if ('a' + j != s[i-1] && 'a' + j != s[i+1]) {
s[i] = 'a' + j;
break;
}
}
} else if (i == 0){
for (int j = 0; j < 26; ++j) {
if ('a' + j != s[i+1]) {
s[i] = 'a' + j;
break;
}
}
} else {
for (int j = 0; j < 26; ++j) {
if ('a' + j != s[i-1]) {
s[i] = 'a' + j;
break;
}
}
}
}
}
return s;
}
C代码:官方
char * modifyString(char * s) {
int n = strlen(s);
for (int i = 0; i < n; ++i) {
if (s[i] == '?') {
for (char ch = 'a'; ch <= 'c'; ++ch) {
if ((i > 0 && s[i - 1] == ch) || (i < n - 1 && s[i + 1] == ch)) {
continue;
}
s[i] = ch;
break;
}
}
}
return s;
}