题目:
解析:
代码:
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
相关推荐
Fly Wine2 小时前
Leetcode之有效字母异位词程序员夏末4 小时前
【LeetCode | 第七篇】算法笔记csdn_aspnet4 小时前
C/C++ 两个凸多边形之间的切线(Tangents between two Convex Polygons)数据皮皮侠4 小时前
中国城市间地理距离矩阵(2024)3GPP仿真实验室5 小时前
深度解析基站接收机核心算法:从 MRC 到 IRC 的空间滤波演进Boop_wu5 小时前
[Java 算法] 动态规划(1)WolfGang0073215 小时前
代码随想录算法训练营 Day18 | 二叉树 part08hanlin036 小时前
刷题笔记:力扣第43、67题(字符串计算)yang_B6216 小时前
最小二乘法 拟合平面放下华子我只抽RuiKe56 小时前
深度学习全景指南:硬核实战版
