题目:
解析:
代码:
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
相关推荐
py有趣2 小时前
力扣热门100题之不同路径_日拱一卒2 小时前
LeetCode:25K个一组翻转链表啊哦呃咦唔鱼2 小时前
LeetCodehot100-394 字符串解码小欣加油2 小时前
leetcode2078 两栋颜色不同且距离最远的房子我真不是小鱼2 小时前
cpp刷题打卡记录30——轮转数组 & 螺旋矩阵 & 搜索二维矩阵II逻辑驱动的ken4 小时前
Java高频面试考点场景题09帅小伙―苏4 小时前
力扣42接雨水AI科技星4 小时前
精细结构常数α的几何本源:从第一性原理的求导证明、量纲分析与全域验证6Hzlia4 小时前
【Hot 100 刷题计划】 LeetCode 287. 寻找重复数 | C++ 数组判环 (快慢指针终极解法)MegaDataFlowers4 小时前
26.删除有序数组中的重复项
