LeetCode 1576 替换所有的问号[字符串] HERODING的LeetCode之路

Posted HERODING23

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 1576 替换所有的问号[字符串] HERODING的LeetCode之路相关的知识,希望对你有一定的参考价值。


解题思路:
如果考虑头尾的问号,那么就会多出需要判断,最简单的方法是在首尾添加任意字母,让所有的问号都被包围起来,再一个一个遍历寻找,找到后,用a,b,c三个字符就可以替换(根据前后判断选择),代码如下:

class Solution 
public:
    string modifyString(string s) 
        int n = s.size();
        s.push_back('a');
        s.insert(0, 1, 'a');
        for(int i = 1; i < n + 1; i ++) 
            if(s[i] != '?') continue;
            for(char c = 'a'; c <= 'c'; c ++) 
                if(s[i - 1] != c && s[i + 1] != c) 
                    s[i] = c;
                    break;
                
            
            
        
        return s.substr(1, n);
    
;

以上是关于LeetCode 1576 替换所有的问号[字符串] HERODING的LeetCode之路的主要内容,如果未能解决你的问题,请参考以下文章

1576. 替换所有的问号

LeetCode力扣打卡之1576. 替换所有的问号(Python3)

LeetCode 1185. 一周中的第几天 / 913. 猫和老鼠(博弈,动态规划) / 1576. 替换所有的问号

《LeetCode之每日一题》:257.替换所有的问号

LeetCode --- 1576. Replace All ?‘s to Avoid Consecutive Repeating Characters 解题报告

LeetCode --- 1576. Replace All ?‘s to Avoid Consecutive Repeating Characters 解题报告