题目:
解析:
代码:
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
相关推荐
地平线开发者42 分钟前
SparseDrive 模型导出与性能优化实战董董灿是个攻城狮1 小时前
大模型连载2:初步认识 tokenizer 的过程地平线开发者2 小时前
地平线 VP 接口工程实践(一):hbVPRoiResize 接口功能、使用约束与典型问题总结罗西的思考2 小时前
AI Agent框架探秘:拆解 OpenHands(10)--- RuntimeHXhlx5 小时前
CART决策树基本原理Wect5 小时前
LeetCode 210. 课程表 II 题解:Kahn算法+DFS 双解法精讲颜酱6 小时前
单调队列:滑动窗口极值问题的最优解(通用模板版)Gorway13 小时前
解析残差网络 (ResNet)拖拉斯旋风13 小时前
LeetCode 经典算法题解析:优先队列与广度优先搜索的巧妙应用Wect13 小时前
LeetCode 207. 课程表:两种解法(BFS+DFS)详细解析
