蓝桥杯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
        }
    }
相关推荐
一个儒雅随和的男子3 分钟前
Spring为什么要用三级缓存解决循环依赖?
java·spring·缓存
StevenGerrad5 分钟前
【读书笔记/源码】How Tomcat Works 笔记 - c1~c10
java·笔记·tomcat
数据小小爬虫18 分钟前
淘宝商品详情API返回值说明:Python爬虫代码示例
java·爬虫·python
起名方面没有灵感30 分钟前
力扣23.合并K个升序链表
java·算法
m0_7482333632 分钟前
Spring中WebSocket的使用
java·websocket·spring
啊烨疯狂学java39 分钟前
0105java字节面经
java·jvm·算法
我命由我123451 小时前
27.Java 线程间通信(synchronized 实现线程间通信、Lock 实现线程间通信)
java·开发语言·后端·java-ee·intellij-idea·juc·后端开发
迪小莫学AI1 小时前
# LeetCode Problem 2038: 如果相邻两个颜色均相同则删除当前颜色 (Winner of the Game)
java·linux·leetcode
星辰大海的精灵1 小时前
SpringBoot 整合 Elastic-Job 实现任务分布式调度
java·spring boot·后端
子非鱼@Itfuture1 小时前
Spark是什么?Flink和Spark区别
java·大数据·数据仓库·python·flink·spark