蓝桥杯JAVA--003

需求

2.代码

java 复制代码
    public class RegularExpressionMatching {
        public boolean isMatch(String s, String p) {
            if (p.isEmpty()) {
                return s.isEmpty();
            }

            boolean firstMatch =!s.isEmpty() && (s.charAt(0) == p.charAt(0) || p.charAt(0) == '.');

            if (p.length() >= 2 && p.charAt(1) == '*') {
                return isMatch(s, p.substring(2)) || (firstMatch && isMatch(s.substring(1), p));
            } else {
                return firstMatch && isMatch(s.substring(1), p.substring(1));
            }
        }

        public static void main(String[] args) {
            RegularExpressionMatching rem = new RegularExpressionMatching();
            String s = "aa";
            String p = "a";
            System.out.println(rem.isMatch(s, p)); // false

            s = "aa";
            p = "a*";
            System.out.println(rem.isMatch(s, p)); // true

            s = "ab";
            p = ".*";
            System.out.println(rem.isMatch(s, p)); // true
        }
    }
相关推荐
wszy18094 分钟前
新文章标签:让用户一眼发现最新内容
java·python·harmonyos
wszy180920 分钟前
顶部标题栏的设计与实现:让用户知道自己在哪
java·python·react native·harmonyos
程序员小假1 小时前
我们来说一下无锁队列 Disruptor 的原理
java·后端
资生算法程序员_畅想家_剑魔1 小时前
Kotlin常见技术分享-02-相对于Java 的核心优势-协程
java·开发语言·kotlin
ProgramHan1 小时前
Spring Boot 3.2 新特性:虚拟线程的落地实践
java·jvm·spring boot
nbsaas-boot2 小时前
Go vs Java 的三阶段切换路线图
java·开发语言·golang
毕设源码-钟学长2 小时前
【开题答辩全过程】以 基于Java的慕课点评网站为例,包含答辩的问题和答案
java·开发语言
小北方城市网2 小时前
分布式锁实战指南:从选型到落地,避开 90% 的坑
java·数据库·redis·分布式·python·缓存
深圳佛手2 小时前
使用java,怎么样高效地读取一个大文件(10g以上)?
java·开发语言
sheji34162 小时前
【开题答辩全过程】以 景点移动导游系统的设计与实现为例,包含答辩的问题和答案
java