题目:原题链接(简单)
解法时间复杂度空间复杂度执行用时Ans 1 (Python) O ( 2 N ∗ N ) O(2^N*N) O(2N∗N) O ( 2 N ∗ N ) O(2^N*N) O(2N∗N)72ms (71.25%)Ans 2 (Python)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。
解法一(不断分裂结果):
def letterCasePermutation(self, S: str) -> List[str]: ans = [S] for i in range(len(S)): s = S[i] if s.isalpha(): new = [] for a in ans: new.append(a[:i] + s.lower() + a[i + 1:]) new.append(a[:i] + s.upper() + a[i + 1:]) ans = new return ans