题目来源:
leetcode题目,网址:1576. 替换所有的问号 - 力扣(LeetCode)
解题思路:
遍历字符串,对于 ? 字符,从 a 开始判断是否符合要求。因为只要求无连续字符,因此不用担心多个连续问号字符会有唯一解。
解题代码:
class Solution {
public String modifyString(String s) {
StringBuffer res=new StringBuffer(s);
for(int i=0;i<res.length();i++){
if(res.charAt(i)=='?'){
char temp='a';
while((i>0 && temp==res.charAt(i-1) ) || (i<res.length()-1 && temp==res.charAt(i+1))){
temp=(char)('a'+(temp+1-'a')%25);
}
res.setCharAt(i,temp);
}
}
return res.toString();
}
}
总结:
官方题解也是一样的思路,不过她是将字符串转化为了字符数组,再做修改,感觉更好一点。