题目:
解析:
代码:
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
相关推荐
9ilk17 小时前
【C++】 --- 哈希再卷也是菜18 小时前
C++篇(21)图星轨初途18 小时前
C++入门(算法竞赛类)灰灰勇闯IT19 小时前
KMP算法在鸿蒙系统中的应用:从字符串匹配到高效系统级开发(附实战代码)小龙报19 小时前
【算法通关指南:数据结构和算法篇 】队列相关算法题:3.海港csuzhucong19 小时前
一阶魔方、一阶金字塔魔方、一阶五魔方五花就是菜19 小时前
P12906 [NERC 2020] Guide 题解辞旧 lekkk19 小时前
【c++】封装红黑树实现mymap和myset星轨初途20 小时前
C++的输入输出(上)(算法竞赛类)n***F87520 小时前
SpringMVC 请求参数接收
