当前位置: 首页 > news >正文

leetcode 1576 替换所有的问号

一、题目描述

二、解题思路

本题可以通过模拟的方法来解决。

遍历字符串,若找到"?"则进行合法替换,有如下几种情况:

(1)i==0且s.size()==1,表示字符串为“?”,直接将“?”替换成“a”即可;

(2)除此之外,如果i==0,则代表该位置为字符串的开头,循环使得r!=s[i+1],进行替换;

(3)如果i==s.size()-1,表示该位置为字符串的结尾,循环使得r!=s[i-1],进行替换;

(4)如果替换的位置在字符串的中间,则循环使得r!=s[i-1]且r!=s[i+1],进行替换。

注意:在替换完后一定要break跳出循环,否则会陷入死循环。

三、代码实现

时间复杂度:T(n)=O(n)

空间复杂度:S(n)=O(1)

class Solution {
public:string modifyString(string s) {//判断每一个位置是不是"?"for(int i=0;i!=s.size();i++){if(s[i]=='?'){//替换掉每一个"?"if(s.size()==1) s[i]='a';for(char r='a';r<='z';r++){if((i==0)&&(r!=s[i+1])) {s[i]=r;break;}else if((i==s.size()-1)&&(r!=s[i-1])) {s[i]=r;break;}else if((i!=0)&&(i!=s.size()-1)&&(r!=s[i-1])&&(r!=s[i+1])) {s[i]=r;break;}}}}return s;}
};

http://www.dtcms.com/a/361335.html

相关文章:

  • 深入Linux内核:IPC资源管理揭秘
  • Unity资源导入设置方式选择
  • 【Element Plus `el-select` 下拉菜单响应式定位问题深度解析】
  • 【数学建模学习笔记】缺失值处理
  • SRE 系列(五)| MTTK/MTTF/MTTV:故障应急机制的三板斧
  • 每周读书与学习->认识性能测试工具JMeter
  • 【开题答辩全过程】以 基于python爬虫对微博数据可视化及实现为例,包含答辩的问题和答案
  • Certificate is Signed Using a Weak Signature Algorithm漏洞解决
  • 从零到一,在GitHub上构建你的专属知识大脑:一个模块化RAG系统的开源实现
  • [VLDB 2025]阿里云大数据AI平台多篇论文被收录
  • 国别域名的SEO优势:是否更利于在当地搜索引擎排名?
  • 【赵渝强老师】阿里云大数据MaxCompute的体系架构
  • Midscenejs自然语言写测试用例
  • 设计模式在Android开发中的实战攻略(面试高频问题)
  • 基于STM32设计的宠物寄养屋控制系统(阿里云IOT)_276
  • 阿里云代理商:轻量应用服务器介绍及搭建个人博客教程参考
  • Shell 编程 —— 正则表达式与文本处理器
  • Shell脚本编程:函数、数组与正则表达式详解
  • 稳联技术的Profinet转Modbus转换网关与信捷PLC从站的连接配置进行了案例分析
  • Java全栈开发工程师面试实战:从基础到微服务的完整技术演进
  • 特征选择方法介绍
  • GPS:开启定位时代的科技魔杖
  • 趣味学RUST基础篇(String)
  • aws上创建jenkins
  • Pomian语言处理器研发笔记(三):使用组合子构建抽象语法树
  • 构建单页应用:React Router v6 核心概念与实战
  • Ubuntu22.04网络图标消失问题
  • 【C++进阶篇】学习C++就看这篇--->多态超详解
  • Photoshop - Ps 储存并重新载入选区
  • 01 2025最新VMware虚拟机下载教程