3684. Substring Matching Pattern¶
3684. Substring Matching Pattern
Easy
You are given a string s and a pattern string p, where p contains exactly one '*' character.
The '*' in p can be replaced with any sequence of zero or more characters.
Return true if p can be made a substring of s, and false otherwise.
A substring is a contiguous non-empty sequence of characters within a string.
Example 1:
Input: s = "leetcode", p = "ee*e"
Output: true
Explanation:
By replacing the '*' with "tcod", the substring "eetcode" matches the pattern.
Example 2:
Input: s = "car", p = "c*v"
Output: false
Explanation:
There is no substring matching the pattern.
Example 3:
Input: s = "luck", p = "u*"
Output: true
Explanation:
The substrings "u", "uc", and "uck" match the pattern.
Constraints:
1 <= s.length <= 501 <= p.length <= 50scontains only lowercase English letters.pcontains only lowercase English letters and exactly one'*'
Solution¶
class Solution {
public boolean hasMatch(String s, String p) {
int idx = p.indexOf("*");
int left = s.indexOf(p.substring(0,idx));
int idx2 = left + p.substring(0,idx).length();
String temp = s.substring(idx2);
int right = temp.indexOf(p.substring(idx+1));
if(left!=-1 && right!= -1) return true;
return false;
}
}
Complexity Analysis¶
- Time Complexity: O(?)
- Space Complexity: O(?)
Explanation¶
[Add detailed explanation here]