784. 字母大小写全排列
784. 字母大小写全排列
题解: 按题意模拟,DFS遍历string的每个下表字符,并对其按题意操作,遍历完添加到答案。
class Solution {
public List<String> letterCasePermutation(String s) {
char[] chars = s.toCharArray();
List<String> res = new ArrayList<>();
dfs(chars, 0, res);
return res;
}
public void dfs(char[] chars, int i, List<String> res) {
if (i >= chars.length) {
res.add(new String(chars));
return;
}
char ch = chars[i];
// 大写字母
if ('A' <= ch && ch <= 'Z') {
dfs(chars, i + 1, res);
chars[i] = (char) (ch + 32);
dfs(chars, i + 1, res);
}
// 小写字母
else if ('a' <= ch && ch <= 'z') {
dfs(chars, i + 1, res);
chars[i] = (char) (ch - 32);
dfs(chars, i + 1, res);
} else {
dfs(chars, i + 1, res);
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧