leetcode 1750. 删除字符串两端相同字符后的最短长度

题目如下

数据范围

示例

复制代码
本题是普通的模拟题,只需要设置l r两个指针并且让两个指针不断向内遍历最后得到差值即可,不用真正修改字符串s。

通过代码

cpp 复制代码
class Solution {
public:
    int minimumLength(string s) {
        int l = 0,r = s.size() - 1;
        int n = r + 1;
        char t;
        if(r == 0)return 1;
        if(s[l] != s[r])return r + 1;
        t = s[0];
        while(true){
            while(true){
          
                if(l + 1 == r)return 0;
                if(s[l + 1] == t)l++;
                else break;
         
            }
              while(true){
                if(l + 1 == r)return 0;
                if(s[r - 1] == t)r--;
                else break;
             
            }

            if(s[l + 1] != s[r - 1])return r - l - 1;
            l++;r--;
            if(l == r)return 1;
            t = s[l];

        }
        return 0;//while 循环已经是全部情况了 其实程序走不到这里
    }
};
相关推荐
ajassi20003 小时前
开源 C++ QT Widget 开发(十五)多媒体--音频播放
linux·c++·qt·开源
焦耳加热3 小时前
阿德莱德大学Nat. Commun.:盐模板策略实现废弃塑料到单原子催化剂的高值转化,推动环境与能源催化应用
人工智能·算法·机器学习·能源·材料工程
wan5555cn3 小时前
多张图片生成视频模型技术深度解析
人工智能·笔记·深度学习·算法·音视频
u6064 小时前
常用排序算法核心知识点梳理
算法·排序
鹅毛在路上了5 小时前
C++, ffmpeg, libavcodec-RTSP拉流,opencv实时预览
c++·opencv·ffmpeg
John_ToDebug5 小时前
定制 ResourceBundle 的实现与 DuiLib 思想在 Chromium 架构下的应用解析
c++·chrome·ui
蒋星熠6 小时前
Flutter跨平台工程实践与原理透视:从渲染引擎到高质产物
开发语言·python·算法·flutter·设计模式·性能优化·硬件工程
小欣加油6 小时前
leetcode 面试题01.02判定是否互为字符重排
数据结构·c++·算法·leetcode·职场和发展
3Cloudream6 小时前
LeetCode 003. 无重复字符的最长子串 - 滑动窗口与哈希表详解
算法·leetcode·字符串·双指针·滑动窗口·哈希表·中等
王璐WL6 小时前
【c++】c++第一课:命名空间
数据结构·c++·算法