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 循环已经是全部情况了 其实程序走不到这里
    }
};
相关推荐
少许极端8 分钟前
算法奇妙屋(十)-队列+宽搜(BFS)
java·数据结构·算法·bfs·宽度优先·队列
沐怡旸36 分钟前
【穿越Effective C++】条款16:成对使用new和delete时要采用相同形式——内存管理的精确匹配原则
c++·面试
z20348315201 小时前
我与C++的故事
开发语言·c++·c++40周年
异步的告白1 小时前
C语言-数据结构-1-动态数组
c语言·数据结构·c++
想唱rap2 小时前
Linux开发工具(4)
linux·运维·服务器·开发语言·算法
前端炒粉2 小时前
21.搜索二维矩阵 II
前端·javascript·算法·矩阵
星释2 小时前
Rust 练习册 :Rail Fence Cipher与栅栏密码
开发语言·算法·rust
东方隐侠安全团队-千里2 小时前
第3节 RSA算法开启公钥加密时代
网络·人工智能·算法
7澄13 小时前
深入解析 LeetCode 1:两数之和
算法·leetcode·职场和发展·arraylist