0044. Wildcard Matching

https://leetcode.com/problems/wildcard-matching

Description

Given an input string (s) and a pattern (p), implement wildcard pattern matching with support for '?' and '*' where:

  • '?' Matches any single character.

  • '*' Matches any sequence of characters (including the empty sequence).

The matching should cover the entire input string (not partial).

Example 1:

**Input:** s = "aa", p = "a"
**Output:** false
**Explanation:** "a" does not match the entire string "aa".

Example 2:

**Input:** s = "aa", p = "*"
**Output:** true
**Explanation:** '*' matches any sequence.

Example 3:

**Input:** s = "cb", p = "?a"
**Output:** false
**Explanation:** '?' matches 'c', but the second letter is 'a', which does not match 'b'.

Example 4:

Example 5:

Constraints:

  • 0 <= s.length, p.length <= 2000

  • s contains only lowercase English letters.

  • p contains only lowercase English letters, '?' or '*'.

ac1: 2D dp

similar with #10

ac2: 1D DP

Notice: 1D dp, need to update each one in the array, because it does not have default value, unlike 2D dp. else dp[j] = false;

ac3: 2 pointers

Similar problems

Last updated

Was this helpful?