Leetcode 3407. Substring Matching Pattern

  • [Leetcode 3407. Substring Matching Pattern](#Leetcode 3407. Substring Matching Pattern)
    • [1. 解题思路](#1. 解题思路)
    • [2. 代码实现](#2. 代码实现)

1. 解题思路

这一题是一道leetcode easy的题目,照说应该没啥的,不过实际我做的时候在这里卡了一下,所以还是拿过来稍微记录一下好了。

这道题核心还是字符串的匹配,不过麻烦的点在于*符号可以替换一个或多个字符,然后剩下的部分又会是连续的,因此这里相当于是一个另类的lcs匹配问题。

我最后给的解答还是比较暴力的,就是先按照*将pattern字符串p进行切分,然后顺序考察其中的每一个非空子串是否可以顺序在原始字符串s当中找到。

2. 代码实现

给出python代码实现如下:

python 复制代码
class Solution:
    def hasMatch(self, s: str, p: str) -> bool:
        p = p.strip("*").split("*")
        i, n = 0, len(s)
        for sub in p:
            if sub == "":
                continue
            while i < n and not s[i:].startswith(sub):
                i += 1
            if i >= n:
                return False
            i += len(sub)
        return True

提交代码评测得到:耗时0ms,占用内存17.7MB。

相关推荐
月挽清风9 小时前
代码随想录第十五天
数据结构·算法·leetcode
TracyCoder12311 小时前
LeetCode Hot100(34/100)——98. 验证二叉搜索树
算法·leetcode
We་ct12 小时前
LeetCode 56. 合并区间:区间重叠问题的核心解法与代码解析
前端·算法·leetcode·typescript
努力学算法的蒟蒻15 小时前
day79(2.7)——leetcode面试经典150
算法·leetcode·职场和发展
2401_8414956415 小时前
【LeetCode刷题】二叉树的层序遍历
数据结构·python·算法·leetcode·二叉树··队列
2401_8414956415 小时前
【LeetCode刷题】二叉树的直径
数据结构·python·算法·leetcode·二叉树··递归
我是咸鱼不闲呀16 小时前
力扣Hot100系列19(Java)——[动态规划]总结(上)(爬楼梯,杨辉三角,打家劫舍,完全平方数,零钱兑换)
java·leetcode·动态规划
铉铉这波能秀17 小时前
LeetCode Hot100数据结构背景知识之列表(List)Python2026新版
数据结构·leetcode·list
仟濹17 小时前
算法打卡 day1 (2026-02-06 周四) | 算法: DFS | 1_卡码网98 可达路径 | 2_力扣797_所有可能的路径
算法·leetcode·深度优先
YuTaoShao18 小时前
【LeetCode 每日一题】1653. 使字符串平衡的最少删除次数——(解法一)前后缀分解
算法·leetcode·职场和发展