题目:
解析:
代码:
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
相关推荐
IT大白鼠2 小时前
AIGC性能的关键瓶颈:算力、数据、算法三者如何互相制约?白雪茫茫2 小时前
监督学习、半监督学习、无监督学习算法详解FengyunSky2 小时前
浅析 空间频率响应 SFR 计算树下水月3 小时前
PHP 一种改良版的雪花算法一只数据集3 小时前
全尺寸人形机器人灵巧手力觉触觉数据集-2908条ROSbag数据覆盖14大应用场景深度解析罗西的思考4 小时前
【GUI-Agent】阿里通义MAI-UI 代码阅读(2)--- 实现刀法如飞6 小时前
TypeScript 数组去重的 20 种实现方式,哪一种你还不知道?sali-tec6 小时前
C# 基于OpenCv的视觉工作流-章66-直线夹角AC赳赳老秦7 小时前
接口测试自动化:用 OpenClaw 对接 Postman,实现批量回归测试、测试报告自动生成与推送_风满楼7 小时前
TDD实战-会议室冲突检测的红绿重构循环
