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

简介: 给你一个仅由 大写 英文字符组成的字符串 s 。你可以对此字符串执行一些操作,在每一步操作中,你可以从 s 中删除 任一个 "AB" 或 "CD" 子字符串。通过执行操作,删除所有 "AB" 和 "CD" 子串,返回可获得的最终字符串的 最小 可能长度。注意,删除子串后,重新连接出的字符串可能会产生新的 "AB" 或 "CD" 子串。

 题目

给你一个仅由 大写 英文字符组成的字符串 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();
        }
    }

    image.gif


    目录
    相关文章
    |
    3月前
    |
    SQL Java 索引
    java小工具util系列2:字符串工具
    java小工具util系列2:字符串工具
    171 83
    |
    3月前
    |
    存储 安全 Java
    Java零基础-字符串详解
    【10月更文挑战第18天】Java零基础教学篇,手把手实践教学!
    124 60
    |
    3月前
    |
    Java 数据库
    java小工具util系列1:日期和字符串转换工具
    java小工具util系列1:日期和字符串转换工具
    76 26
    |
    3月前
    |
    存储 缓存 安全
    java 中操作字符串都有哪些类,它们之间有什么区别
    Java中操作字符串的类主要有String、StringBuilder和StringBuffer。String是不可变的,每次操作都会生成新对象;StringBuilder和StringBuffer都是可变的,但StringBuilder是非线程安全的,而StringBuffer是线程安全的,因此性能略低。
    104 8
    |
    3月前
    |
    缓存 算法 Java
    本文聚焦于Java内存管理与调优,介绍Java内存模型、内存泄漏检测与预防、高效字符串拼接、数据结构优化及垃圾回收机制
    在现代软件开发中,性能优化至关重要。本文聚焦于Java内存管理与调优,介绍Java内存模型、内存泄漏检测与预防、高效字符串拼接、数据结构优化及垃圾回收机制。通过调整垃圾回收器参数、优化堆大小与布局、使用对象池和缓存技术,开发者可显著提升应用性能和稳定性。
    69 6
    |
    4月前
    |
    Java 数据库
    案例一:去掉数据库某列中的所有英文,利用java正则表达式去做,核心:去掉字符串中的英文
    这篇文章介绍了如何使用Java正则表达式从数据库某列中去除所有英文字符。
    111 15
    |
    4月前
    |
    JavaScript
    力扣3333.找到初始输入字符串Ⅱ
    【10月更文挑战第9天】力扣3333.找到初始输入字符串Ⅱ
    50 1
    |
    4月前
    |
    Java
    JAVA易错点详解(数据类型转换、字符串与运算符)
    JAVA易错点详解(数据类型转换、字符串与运算符)
    82 4
    |
    2天前
    |
    Java 程序员 开发者
    Java社招面试题:一个线程运行时发生异常会怎样?
    大家好,我是小米。今天分享一个经典的 Java 面试题:线程运行时发生异常,程序会怎样处理?此问题考察 Java 线程和异常处理机制的理解。线程发生异常,默认会导致线程终止,但可以通过 try-catch 捕获并处理,避免影响其他线程。未捕获的异常可通过 Thread.UncaughtExceptionHandler 处理。线程池中的异常会被自动处理,不影响任务执行。希望这篇文章能帮助你深入理解 Java 线程异常处理机制,为面试做好准备。如果你觉得有帮助,欢迎收藏、转发!
    35 14
    |
    5天前
    |
    安全 Java 程序员
    Java 面试必问!线程构造方法和静态块的执行线程到底是谁?
    大家好,我是小米。今天聊聊Java多线程面试题:线程类的构造方法和静态块是由哪个线程调用的?构造方法由创建线程实例的主线程调用,静态块在类加载时由主线程调用。理解这些细节有助于掌握Java多线程机制。下期再见! 简介: 本文通过一个常见的Java多线程面试题,详细讲解了线程类的构造方法和静态块是由哪个线程调用的。构造方法由创建线程实例的主线程调用,静态块在类加载时由主线程调用。理解这些细节对掌握Java多线程编程至关重要。
    34 13