题目:
解析:
代码:
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
相关推荐
weixin_307779133 小时前
C++代码实现MATLAB中的dlarray函数功能hetao17338379 小时前
2026-10-03~04 hetao1733837 的刷题记录Zootopia6269 小时前
飞行力学知识梳理1|飞行性能与稳定性longlongzihan9 小时前
从LeetCode 70. 爬楼梯看动态规划:如何精准推导状态转移方程?2601_9603563810 小时前
2027校招采购岗解析:数学基础如何迁移到需求预测、成本与供应商分析h_a_o777oah11 小时前
【树论】树链剖分:将树形结构转化为线性结构以处理树上路径问题(洛谷 P3384 附C++代码模板)HEJOO911 小时前
指针的算术运算详解Coder-magician11 小时前
《代码随想录》刷题打卡day47:并查集-part01垆边人似月.11 小时前
VLAN 资源池(100~200 分档)潼心1412o12 小时前
C++初阶(长期更新)第6讲:类和对象(下)
