题目:
解析:
代码:
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
相关推荐
NEFU_Jyj2 小时前
贝尔数(组合数学)希和20272 小时前
C语言程序设计题|有序数组插入数字冒泡排序Pniubi3 小时前
力扣73 矩阵置零布莱克60513 小时前
C++ 中 map 的 insert 与 emplace:key 已存在时会覆盖吗?D e re k ZH16 小时前
C++ 系统学习手记:从语法细节到工程实践石小石Orz17 小时前
AI 正在蚕食我们的编码能力民乐团扒谱机18 小时前
【微实验】NSGA-II(非支配排序遗传算法)——解决多目标优化问题的“自然选择模拟器”青少儿编程课堂18 小时前
蓝桥杯·全国青少年信息素养大赛·电子学会Python/C++考级:中缀表达式求值解析武子康20 小时前
Qwen-Drive 到底是什么:4B 级 VLM 如何成为驾驶策略底座
