题目:
解析:
代码:
javaprivate List<String> ret; private StringBuffer path; public List<String> letterCasePermutation(String s) { ret = new ArrayList<>(); path = new StringBuffer(); dfs(s,0); return ret; } private void dfs(String s, int pos){ if(pos == s.length()){ ret.add(path.toString()); return; } char ch = s.charAt(pos); //改变 if(ch < '0' || ch > '9'){ char tmp = change(ch); path.append(tmp); dfs(s,pos+1); path.deleteCharAt(path.length()-1);//恢复现场 } //不变 path.append(ch); dfs(s,pos+1); path.deleteCharAt(path.length()-1);//恢复现场 } private char change(char ch){ if(ch >= 'a' && ch <= 'z') return ch -= 32;//小写转大写 else return ch += 32;//大写转小写 }
穷举vs暴搜vs深搜vs回溯vs剪枝系列一>字母大小写全排列
robin_suli2025-01-10 14:10
相关推荐
无限进步_几秒前
【C++】巧用静态变量与构造函数:一种非常规的求和实现小超超爱学习993717 分钟前
大数乘法,超级简单模板Ricardo-Yang31 分钟前
SCNP语义分割边缘logits策略凌波粒32 分钟前
LeetCode--344.反转字符串(字符串/双指针法)啊哦呃咦唔鱼40 分钟前
LeetCode hot100-543 二叉树的直径sinat_286945191 小时前
harness engineering少许极端2 小时前
算法奇妙屋(四十三)-贪心算法学习之路10算法鑫探2 小时前
10个数下标排序:最大值、最小值与平均值(下)样例过了就是过了2 小时前
LeetCode热题100 爬楼梯IronMurphy2 小时前
【算法三十七】51. N 皇后
