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 循环已经是全部情况了 其实程序走不到这里
    }
};
相关推荐
王老师青少年编程32 分钟前
csp信奥赛C++高频考点专项训练之贪心算法 --【哈夫曼贪心】:合并果子
c++·算法·贪心·csp·信奥赛·哈夫曼贪心·合并果子
叼烟扛炮1 小时前
C++第二讲:类和对象(上)
数据结构·c++·算法·类和对象·struct·实例化
天疆说1 小时前
【哈密顿力学】深入解读航天器交会最优控制中的Hamilton函数
人工智能·算法·机器学习
wuweijianlove2 小时前
关于算法设计中的代价函数优化与约束求解的技术7
算法
leoufung2 小时前
LeetCode 149: Max Points on a Line - 解题思路详解
算法·leetcode·职场和发展
样例过了就是过了3 小时前
LeetCode热题100 最长公共子序列
c++·算法·leetcode·动态规划
HXDGCL3 小时前
矩形环形导轨:自动化循环线的核心运动单元解析
运维·算法·自动化
谭欣辰3 小时前
C++ 排列组合完整指南
开发语言·c++·算法
代码中介商3 小时前
银行管理系统的业务血肉 —— 流程、状态机、输入校验与持久化(下篇)
c语言·算法
橙子也要努力变强3 小时前
信号捕捉底层机制-机理篇2
linux·服务器·c++