1. 题目解析
题目链接:1576. 替换所有的问号

这个问题的理解其实相当简单,只需看一下示例,基本就能明白其含义了。
2.算法原理
-  
遍历字符串:从左到右逐个处理字符。
 -  
处理问号字符:对于每个问号字符,我们需要确定一个不同于其相邻字符的小写字母来替换它。
 -  
检查相邻字符:检查问号字符的左右相邻字符,以避免连续重复的情况。
 -  
选择合适的字母:从剩余的未使用字母中选择一个来替换问号字符,确保不与相邻字符相同。
 -  
替换并继续:替换问号字符后,继续遍历字符串,直到所有问号字符都被替换为合适的字母。
 -  
返回结果:返回最终的字符串,确保不包含连续重复的字符。
 
3.代码编写
class Solution 
{
public:
    string modifyString(string s) 
    {
        int n = s.size();
        for(int i = 0; i < n; i++)
        {
            if(s[i] == '?') 
            {
                for(char ch = 'a'; ch <= 'z'; ch++)
                {
                    if((i == 0 || ch != s[i - 1]) && (i == n - 1 || ch != s[i + 1]))
                    {
                        s[i] = ch;
                        break;
                    }       
                }
            }
        }
        
        return s;
    }
}; 
The Last
嗯,就是这样啦,文章到这里就结束啦,真心感谢你花时间来读。
觉得有点收获的话,不妨给我点个赞吧!
如果发现文章有啥漏洞或错误的地方,欢迎私信我或者在评论里提醒一声~
![[蓝桥杯 2020 省 AB1] 网络分析](https://img-blog.csdnimg.cn/direct/3f7f74889b51485aafbd4667fdf434ff.png)

















