class Solution {
public:
string modifyString(string s) {
for(int i = 0; i < s.size(); i ++){ //从前往后遍历每个字符
if(s[i] != '?') continue; //如果该字符不是问号则不处理
char c = 'a'; //否则从a开始匹配方案
while(i && c == s[i - 1] || i + 1 < s.size() && c == s[i + 1]) c ++;
//如果当前字符不是第一个字符且和左边的字符一样 或者 当前字符后面还有字符且和他一样则选择下一个字母
s[i] = c; //通过上一个while循环保证此时已选到合法字符
}
return s;
}
};
leetcode 1576. 替换所有的问号
最新推荐文章于 2024-07-23 16:17:06 发布