题目:
解析:
代码:
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
相关推荐
期货资管源码3 分钟前
期货资管分仓软件开发/平台搭建经验分享Xの哲學17 分钟前
Linux 实时调度机制深度解析fie888919 分钟前
基于蚁群算法求解带时间窗的车辆路径问题ytttr87325 分钟前
基于人工蜂群算法(ABC)的MATLAB数值计算求解框架珂朵莉MM29 分钟前
2025年睿抗机器人开发者大赛CAIP-编程技能赛-高职组(国赛)解题报告 | 珂学家这周也會开心37 分钟前
JVM-垃圾回收器橘颂TA37 分钟前
【剑斩OFFER】算法的暴力美学——力扣 844 题:比较含退格的字符串cici1587441 分钟前
基于正交匹配追踪(OMP)算法的信号稀疏分解MATLAB实现Jeremy爱编码1 小时前
leetcode热题组合总和努力学算法的蒟蒻1 小时前
day57(1.8)——leetcode面试经典150
