优选算法_模拟_替换所有的‘?‘_C++

一.题目解析:

替换一个string里面所有的'?',且替换的字母不能和左右两边相同

算法解析:模拟

遍历数组找到string里面的'?'替换即可,考验的是代码编写的能力

1.首先我们需要一个循环找到'?'

for(int i=0;i<n;i++)

2.遍历字母表,判断左右是否相等,不相等->插入,相等->下一个,边界情况是第一个位置和最后一个位置,如果是第一个位置就不用判断前一个位置,如果是最后一个位置就不用判断下一个位置

for(char ch='a';ch<='z';ch++){

if(i==0||ch!=si-1)&&(i==n-1||ch!=si+1) si=ch;

}

二.代码编写

cpp 复制代码
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;
                    }
                }
            }
        }
        return s;
    }
};
相关推荐
浪子明X6 小时前
十六位账本怎样发现传输差错:Internet Checksum 生活类比
开发语言
尾善爱看海6 小时前
Vue 面试收官篇:SSR、性能优化落地、30 道高频面试题精讲(附标准答案)
前端·javascript·vue.js·面试·vue
v_34836087626 小时前
Android native端 堆栈打印
android·算法
residual_fan6 小时前
【学术论文】航空发动机故障诊断智能体:基于持续对比强化学习的动态优化方法
人工智能·算法·数据挖掘·数据分析
GG-_-Bond7 小时前
9.1 kv存储resp协议模拟面试
c++
GreenTea7 小时前
OpenAI Agents API 上手实测:一次调用把整个 agent loop 甩给 OpenAI
前端·后端·算法
米糕闯编程7 小时前
鱼香ros2(五)用C++编写节点
c++·ros2·cmakelists·鱼香
深圳满意度咨询8 小时前
医院满意度数字化测评系统:从数据采集到智能决策的技术实践
算法
xiangyun618 小时前
【408数据结构 08】队列:循环队列判空判满,408年年考,一次讲清
c语言·开发语言·数据结构·c++·算法
xiangyun618 小时前
【408数据结构 06】双链表、循环链表、静态链表
c语言·开发语言·数据结构·c++·算法