A word’s generalized abbreviation can be constructed by taking any number of non-overlapping and non-adjacent substrings and replacing them with their respective lengths.
- For example, “abcde” can be abbreviated into:
- “a3e” (“bcd” turned into “3”)
- “1bcd1” (“a” and “e” both turned into “1”)
- “5” (“abcde” turned into “5”)
- “abcde” (no substrings replaced)
- However, these abbreviations are invalid:
- “23” (“ab” turned into “2” and “cde” turned into “3”) is invalid as the substrings chosen are adjacent.
- “22de” (“ab” turned into “2” and “bc” turned into “2”) is invalid as the substring chosen overlap.
Given a string word, return a list of all the possible generalized abbreviations of word. Return the answer in any order.
1 | class Solution { |