算法日常・每日刷题--<模拟>1 📅 2026/6/30 5:17:56 https://leetcode.cn/problems/replace-all-s-to-avoid-consecutive-repeating-characters/description/https://leetcode.cn/problems/replace-all-s-to-avoid-consecutive-repeating-characters/description/一、题目简介给你一个只包含小写字母和?的字符串s要求把所有?替换成小写字母使得最终字符串没有任意两个连续字符相同。题目保证一定有合法解只需要返回任意一种合法结果。核心难点正确处理首尾边界 不能和左右字符重复。二、我的解题思路整体思路非常朴素遍历字符串遇到问号就尝试填充字母。1.看字符是否和该位置的前一个和后一个是否相同如果相同就继续遍历,如果不相同将该字符赋值给该位置2.要处理边界情况如果该位置是s[0]-前一个位置不用进行比较如果该位置是s[s.size()-1]-后一个位置不用进行比较class Solution { public: string modifyString(string s) { for(int i0;is.size();i) { if(s[i]?) { for(char ja;jz;j) { if(((i0)||j!s[i-1])((is.size()-1)||s[i1]!j)) { s[i]j; break; } } } } return s; } };