2018年6月17日 星期日

[LeetCode] 784. Letter Case Permutation

轉自LeetCode

Given a string S, we can transform every letter individually to be lowercase or uppercase to create another string.  Return a list of all possible strings we could create.
Examples:
Input: S = "a1b2"
Output: ["a1b2", "a1B2", "A1b2", "A1B2"]

Input: S = "3z4"
Output: ["3z4", "3Z4"]

Input: S = "12345"
Output: ["12345"]
Note:
  • S will be a string with length at most 12.
  • S will consist only of letters or digits.
<Solution>

想法如下
  • 看到排列組合,第一個直覺是用 dfs 來解
  • 首先,先一路一直走到底。然後回頭的時候,檢查當下的字元是數字還是字母,是字母的話,根據他的大小寫,再做 dfs 下去
code 如下

Java

沒有留言:

張貼留言