2696. 删除子串后的字符串最小长度 --力扣 --JAVA

发布时间:2024年01月10日

题目

给你一个仅由?大写?英文字符组成的字符串?s?。

你可以对此字符串执行一些操作,在每一步操作中,你可以从?s?中删除?任一个?"AB"?或?"CD"?子字符串。

通过执行操作,删除所有?"AB"?和?"CD"?子串,返回可获得的最终字符串的?最小?可能长度。

注意,删除子串后,重新连接出的字符串可能会产生新的?"AB"?或?"CD"?子串。

解题思路

  1. 因为不确定需要循环遍历几次,所以选择使用while来进行循环;
  2. 创建标志常量来表示循环状态是否结束;
  3. 利用字符串的replaceAll方法来替换字符串"AB"和"CD";
  4. 当字符串长度与替换前相同时则跳出循环。

代码展示

class Solution {
    public int minLength(String s) {
        boolean status = true;
        while (status) {
            int len = s.length();
            s = s.replaceAll("AB", "");
            s = s.replaceAll("CD", "");
            if(s.length() == len){
                status = false;
            }
        }
        return s.length();
    }
}

文章来源:https://blog.csdn.net/qq_45794129/article/details/135510726
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。