Leetcode 1957. 删除字符使字符串变好(可以,一次过)
Published on 2022-06-09 14:43 in 分类: C/C++ with 萧海~
分类: C/C++

Leetcode 1957. 删除字符使字符串变好(可以,一次过)

    在这里插入图片描述
    一个字符串如果没有 三个连续 相同字符,那么它就是一个 好字符串 。

    给你一个字符串 s ,请你从 s 删除 最少 的字符,使它变成一个 好字符串 。

    请你返回删除后的字符串。题目数据保证答案总是 唯一的 。

    示例 1:

    输入:s = "leeetcode"
    输出:"leetcode"
    解释:
    从第一组 'e' 里面删除一个 'e' ,得到 "leetcode"
    没有连续三个相同字符,所以返回 "leetcode"

    示例 2:

    输入:s = "aaabaaaa"
    输出:"aabaa"
    解释:
    从第一组 'a' 里面删除一个 'a' ,得到 "aabaaaa"
    从第二组 'a' 里面删除两个 'a' ,得到 "aabaa"
    没有连续三个相同字符,所以返回 "aabaa"

    示例 3:

    输入:s = "aab"
    输出:"aab"
    解释:没有连续三个相同字符,所以返回 "aab"

    提示:

    • 1 <= s.length <= 10^5
    • s 只包含小写英文字母。

    Code:

    class Solution {
    public:
    string makeFancyString(string s) {
    string res;
    for(int i=0;i<s.size();i++)
    {
    if(res.size()>=3)
    {
    if(count(res.end()-3,res.end(),res.back())>=3)
    {
    res.pop_back();
    }
    }
    res.push_back(s[i]);
    }
    if(count(res.end()-3,res.end(),res.back())>=3)
    {
    res.pop_back();
    }
    return res;
    }
    };
    posted @   萧海~  阅读(52)  评论(0编辑  收藏  举报
    相关博文:
    阅读排行:
    · winform 绘制太阳,地球,月球 运作规律
    · AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
    · 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
    · 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
    · 上周热点回顾(3.3-3.9)
    点击右上角即可分享
    微信分享提示
    电磁波切换