题目:
解析:
代码:
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
相关推荐
黎阳之光7 分钟前
AI数智筑防线 绿色科技启新篇,如何用硬核技术赋能生态安全双升级2201_758642649 分钟前
自定义内存检测工具Westward-sun.15 分钟前
矿物分类实战(一):从异常值到标准化——数据清洗全流程拆解D_C_tyu23 分钟前
HTML | 结合Canvas开发具有智能寻路功能的贪吃蛇小游戏实战详解小王不爱笑13228 分钟前
HashMap 扩容全流程代码探秘者30 分钟前
【算法篇】4.前缀和计算机安禾30 分钟前
【数据结构与算法】第4篇:算法效率衡量:时间复杂度和空间复杂度Oueii36 分钟前
嵌入式LinuxC++开发sw12138937 分钟前
嵌入式C++驱动开发2501_9249526938 分钟前
C++中的适配器模式
