题目:
解析:
代码:
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
相关推荐
宵时待雨18 分钟前
C++笔记归纳17:哈希问好眼33 分钟前
《算法竞赛进阶指南》0x05 排序-1.电影CoderCodingNo35 分钟前
【GESP】C++八级考试大纲知识点梳理 (6) 图论算法:最小生成树与最短路DeepModel39 分钟前
【特征选择】嵌入法(Embedded)今儿敲了吗1 小时前
算法复盘——前缀和ulias2121 小时前
智能指针简述寻寻觅觅☆1 小时前
东华OJ-基础题-58-素数表(C++)AI成长日志1 小时前
【强化学习专栏】深度拆解:多智能体强化学习核心理论与工程实践Flying pigs~~1 小时前
基于TF_IDF和Bagging的文本分类全过程树獭叔叔2 小时前
FFN 激活函数深度解析:从 ReLU 到 SwiGLU 的演进之路
