https://leetcode.com/problems/letter-case-permutation/description/
题目大意:不改变原来字符的位置,输出一个字符串里的字母所有大小写的组合。
解题思路:递归深搜
class Solution { List<String> res = new ArrayList<>(); private void dfs(int x,StringBuilder s) { if(x==s.length()) { res.add(s.toString()); return ; } // System.out.println(s+" "+x); char tmp = s.charAt(x); if(Character.isLetter(tmp)) { s.setCharAt(x, Character.toLowerCase(tmp)); dfs(x+1,s); s.setCharAt(x, Character.toUpperCase(tmp)); dfs(x+1,s); } else dfs(x+1,s); } public List<String> letterCasePermutation(String S) { dfs(0,new StringBuilder(S)); return res; } }