MCPcopy
hub / github.com/qiyuangong/leetcode / letterCasePermutation

Method letterCasePermutation

java/784_Letter_Case_Permutation.java:2–24  ·  view source on GitHub ↗
(String S)

Source from the content-addressed store, hash-verified

1class Solution {
2 public List<String> letterCasePermutation(String S) {
3 List<StringBuilder> ans = new ArrayList();
4 ans.add(new StringBuilder());
5
6 for (char c: S.toCharArray()) {
7 int n = ans.size();
8 if (Character.isLetter(c)) {
9 for (int i = 0; i < n; ++i) {
10 ans.add(new StringBuilder(ans.get(i)));
11 ans.get(i).append(Character.toLowerCase(c));
12 ans.get(n + i).append(Character.toUpperCase(c));
13 }
14 } else {
15 for (int i = 0; i < n; ++i)
16 ans.get(i).append(c);
17 }
18 }
19
20 List<String> finalans = new ArrayList();
21 for (StringBuilder sb: ans)
22 finalans.add(sb.toString());
23 return finalans;
24 }
25
26 /*public List<String> letterCasePermutation(String S) {
27 int B = 0;

Callers

nothing calls this directly

Calls 3

addMethod · 0.45
getMethod · 0.45
toLowerCaseMethod · 0.45

Tested by

no test coverage detected