题目:
解析:
代码:
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
相关推荐
AlenTech9 分钟前
152. 乘积最大子数组 - 力扣(LeetCode)Piar1231sdafa20 分钟前
基于yolo13-C3k2-RVB的洗手步骤识别与检测系统实现_1做科研的周师兄21 分钟前
【MATLAB 实战】|多波段栅格数据提取部分波段均值——批量处理(NoData 修正 + 地理信息保真)_后附完整代码天赐学c语言35 分钟前
1.18 - 滑动窗口最大值 && 子类的指针转换为父类的指针,指针的值是否会改变甄心爱学习1 小时前
KMP算法(小白理解)wen__xvn1 小时前
牛客周赛 Round 127大锦终2 小时前
dfs解决FloodFill 算法橘颂TA2 小时前
【剑斩OFFER】算法的暴力美学——LeetCode 200 题:岛屿数量苦藤新鸡2 小时前
14.合并区间(1,3)(2,5)=(1,5)程序员-King.2 小时前
day145—递归—二叉树的右视图(LeetCode-199)
