A string can be shortened by replacing any number of non-adjacent, non-empty substrings with their lengths (without leading zeros).
For example, the string "implementation" can be abbreviated in several ways, such as:
- "i12n" -> ("i mplementatio n")
- "imp4n5n" -> ("imp leme n tatio n")
- "14" -> ("implementation")
- "implemetation" -> (no substrings replaced)
Invalid abbreviations include:
- "i57n" -> (i mplem entatio n, adjacent substrings are replaced.)
- "i012n" -> (has leading zeros)
- "i0mplementation" (replaces an empty substring)
You are given a string named word and an abbreviation named abbr, return true if abbr correctly abbreviates word, otherwise return false.
A substring is a contiguous non-empty sequence of characters within a string.
Example 1:
Input: word = "apple", abbr = "a3e"
Output: trueExample 2:
Input: word = "international", abbr = "i9l"
Output: falseExample 3:
Input: word = "abbreviation", abbr = "abbreviation"
Output: trueConstraints:
1 <= word.length <= 100wordis made up of only lowercase English letters.1 <= abbr.length <= 100abbris made up of lowercase English letters and digits.- All digit-only substrings of
abbrfit in a32-bit integer.