bugl
bugl
HomeLearnPatternsPathsSearchPremium
HomeLearnPatternsPaths
MediumBacktrackingLC 1087

Brace Expansion

You are given a string s representing a list of words. Each letter in the word has one or more options. If there is one option, the letter is represented as is. If there is more than one option, then curly braces delimit the options. For example, "{a,b,c} " represents options [ "a ", "b ", "c "]. For example, if s = "a{b,c} ", the first character is always 'a', but the second character can be 'b' or 'c'. The original list is [ "ab ", "ac "]. Return all words that can be formed in this manner, sorted in lexicographical order.

Asked at 1 company
Google
Hints
  • 1.Think about which data structure fits best
  • 2.Consider the time complexity of your approach
  • 3.Look for patterns in the constraints
LeetCode