题目:
解析:
代码:
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
相关推荐
田梓燊2 分钟前
2026/4/11 leetcode 3741斯内科12 分钟前
FFT快速傅里叶变换2301_8227032020 分钟前
开源鸿蒙跨平台Flutter开发:幼儿疫苗全生命周期追踪系统:基于 Flutter 的免疫接种档案与状态机设计贵慜_Derek22 分钟前
Managed Agents 里,Harness 到底升级了什么?2301_822703201 小时前
鸿蒙flutter三方库实战——教育与学习平台:Flutter MarkdownJia ming1 小时前
C语言实现日期天数计算无限进步_2 小时前
【C++&string】大数相乘算法详解:从字符串加法到乘法实现苏纪云2 小时前
蓝桥杯考前突击W23035765732 小时前
经典算法详解:最长公共子序列 (LCS) —— 从暴力递归到动态规划完整实现pzx_0012 小时前
【优化器】 随机梯度下降 SGD 详解
