Match Substring After Replacement
You are given two strings s and sub. You are also given a 2D character array mappings where mappings[i] = [oldi, newi] indicates that you may perform the following operation any number of times:
- Replace a character
oldiofsubwithnewi.
Each character in sub cannot be replaced more than once.
Return true if it is possible to make sub a substring of s by replacing zero or more characters according to mappings. Otherwise, return false.
A substring is a contiguous non-empty sequence of characters within a string.
Example 1
Input
s = "fool3e7bar", sub = "leet", mappings = [["e","3"],["t","7"],["t","8"]]Output
trueReplacing the first
e in sub with 3 and t with 7 makes sub become l3e7, which is a substring of s.Example 2
Input
s = "fooleetbar", sub = "f00l", mappings = [["o","0"]]Output
falseThe string
f00l is not a substring of s, and 0 cannot be replaced with o.Constraints
- 1 <= sub.length <= s.length <= 5000
- 0 <= mappings.length <= 1000
- mappings[i].length == 2
- oldi != newi
- s and sub consist of uppercase and lowercase English letters and digits.
- oldi and newi are either uppercase or lowercase English letters or digits.