前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >2025寒假备战蓝桥杯03-力扣第1576题目解析

2025寒假备战蓝桥杯03-力扣第1576题目解析

作者头像
阑梦清川
发布2025-02-24 23:32:46
发布2025-02-24 23:32:46
710
举报
文章被收录于专栏:学习成长指南学习成长指南

1.题目

2.思路分析

实际上这个就是模拟的思想,就是列举这个里面的可能的情况:因为是不可以构成连续的重复的字符,因此这个时候我们需要按照下面的步骤进行操作:1)遍历,从前向后进行遍历,首先需要找到这个?的位置;

2)对于这个问号的前后进行判断,和前面的,和后面的都不可以一样;

3)针对特殊情况的处理:如果这个?位于第一个位置,这个时候他的前面没有任何的元素,我们只需要对于他的后面进行比较就可以了;同理,如果他是位于这个字符串里面的最后一个位置,他的后面也是没有元素的,这个时候只需要和他前面的元素进行比较就可以了;

3.代码说明

1)参数的转换,把默认的这个string转换为字符数组,方便我们可以直接试用下标进行读取;

2)求解数组的长度,控制我们的循环的终止的条件(因为我们需要遍历找到这个?的位置,因为需要知道这个字符数组的长度大小);

3)找到了这个?之后,我们需要替换掉,这个时候再次嵌套for循环,这个主要是从abcdefg…z分别放在这个位置上面试一下;

4)下面的这个if是两个的&&,左边的是这个位置的字符不和前面的字符相等,右边的条件是这个ch不和后面的字符相等;

5)同时这个里面包含了我们的特殊情况,就是第一个字符和最后一个字符,分别放在这个&&的左边和右边作为条件;

6)满足不和前面一样,不和后面一样之后,就使用这个字符把我们的?替换掉,break退出循环;

7)全部结束之后,把这个数组转换为string作为返回值即可;

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-02-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.题目
  • 2.思路分析
  • 3.代码说明
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档