目录
题目
提示:
1 <= s.length <= 100
s 仅包含小写英文字母和 '?' 字符
思路
遍历找到?的位置,用字母替换,判断是否与两边的字母相同
代码
本来想搞个字符串数组,后来在题解中发现我可以设一个char的循环变量
以及只要三个字母就可以啦
写的还是有点复杂
char * modifyString(char * s){
int i;
char ch;
int len=strlen(s);
for(i=0;i<len;i++){
if(s[i]=='?'){
for(ch='a';ch<='c';ch++){
if(i!=0 && i!=len-1){
if(s[i-1]!=ch && s[i+1]!=ch){
s[i]=ch;
break;
}
}else if(i==0){
if(s[i+1]!=ch){
s[i]=ch;
break;
}
}else{
if(s[i-1]!=ch){
s[i]=ch;
break;
}
}
}
}
}
return s;
}