模拟算法
模拟算法就是根据其题目进行一步一步操作即可,相对而言较简单,但是边界情况要处理好 (细节问题)
替换所有的问号

题目解析:将 s 字符串中的?全部替换成小写字母,并且替换?的字符不可以与原本?相邻的两个字符相等 模拟:只需要根据题目条件,找出所有?,并将其替换成符合要求的小写字母即可

class Solution {
public String modifyString(String ss) {
// 替换问号,但是相邻的不可以重复
int n = ss.length();
char[] s = ss.toCharArray();
for (int i = 0; i < n; i++) {
if (s[i] == '?') {
// 找一个符合条件的字母替换
for (char ch = 'a'; ch < 'z'; ch++) {
// 注意?在最左边和最右边这两个边界情况
if ((i == 0 || s[i - 1] != ch) && (i == n - || s[i + ] != ch)) {
s[i] = ch;
;
}
}
}
}
String.valueOf(s);
}
}














