784. 字母大小写全排列

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/letter-case-permutation
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
List<String> ret = new ArrayList<>();
public List<String> letterCasePermutation(String s) {
dfs(s,0,new char[s.length()]);
return ret;
}
public void dfs(String s, int index, char[] data) {
if(s.length() == index) {
ret.add(new String(data));
return;
}
// 数字类型,直接赋值
if(Character.isDigit(s.charAt(index))) {
data[index] = s.charAt(index);
dfs(s,index+1,data);
} else {
// 两种选择
data[index] = Character.toLowerCase(s.charAt(index));
dfs(s,index+1,data);
data[index] = Character.toUpperCase(s.charAt(index));
dfs(s,index+1,data);
}
}
浙公网安备 33010602011771号