题目:
解析:
代码:
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
相关推荐
YuTaoShao几秒前
【LeetCode 每日一题】3510. 移除最小数对使数组有序 IIC+++Python9 分钟前
C++ vector2401_8414956414 分钟前
【LeetCode刷题】K 个一组翻转链表Shea的笔记本1 小时前
MindSpore实战笔记:Pix2Pix图像转换复现全记录清酒难咽1 小时前
算法案例之蛮力法想逃离铁厂的老铁1 小时前
Day50 >> 98、可达路径 + 广度优先搜索理论基础散峰而望1 小时前
【数据结构】假如数据排排坐:顺序表的秩序世界海棠AI实验室1 小时前
第十五章 字典与哈希:高效索引与去重独自破碎E1 小时前
动态规划-打家劫舍I-II尽兴-2 小时前
JVM垃圾收集器与三色标记算法详解
