Skip to content

Commit 1c2f47b

Browse files
committed
LeetCode: 784 solved
1 parent 4f1b2c5 commit 1c2f47b

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# https://leetcode.com/problems/letter-case-permutation/
2+
3+
class Solution:
4+
5+
# Time O(2^n)
6+
# Space O((2^n)*n)
7+
# Where n is a number of characters in a string
8+
def letterCasePermutation(self, s: str) -> [str]:
9+
res = []
10+
11+
for c in s:
12+
if not res:
13+
if c.isdigit():
14+
res.append([c])
15+
else:
16+
res.append([c.lower()])
17+
res.append([c.upper()])
18+
else:
19+
for idx in range(len(res)):
20+
lower = res[idx]
21+
if c.isdigit():
22+
lower.append(c)
23+
else:
24+
upper = [item for item in lower]
25+
lower.append(c.lower())
26+
upper.append(c.upper())
27+
res.append(upper)
28+
29+
return [''.join(item) for item in res]

0 commit comments

Comments
 (0)