java之-------LeetCode--------784. 字母大小写全排列

简介: public List letterCasePermutation(String S) { List res = new LinkedList(); dfs("", S, res, 0); re...
public List<String> letterCasePermutation(String S) {

    List<String> res = new LinkedList<>();
    dfs("", S, res, 0);
    return res;
}

public void dfs(String pre, String S, List<String> res, int index) {
    System.out.println(pre+"-----------");
    // 判断结束的条件,因为没有for循环所以只能这么判断
    if (index == S.length())
        res.add(pre);
    else {
        //System.out.println(pre + "//////////////" + index);
        char ch = S.charAt(index);
        // 指定这是一个字母啊,就是数字,
        if (!Character.isLetter(ch))
            dfs(pre + ch, S, res, index + 1);
        else {
           // System.out.println("xiaoxie");
            // 将字符参数转化为小写的
            ch = Character.toLowerCase(ch);
            dfs(pre + ch, S, res, index + 1);
           // System.out.println("===========" + index);
            // 将字符参数转化为大写的
            ch = Character.toUpperCase(ch);
            dfs(pre + ch, S, res, index + 1);
        }
    }
}
相关文章
|
27天前
|
JSON 前端开发 Java
【Bug合集】——Java大小写引起传参失败,获取值为null的解决方案
类中成员变量命名问题引起传送json字符串,但是变量为null的情况做出解释,@Data注解(Spring自动生成的get和set方法)和@JsonProperty
|
5月前
|
存储 算法
LeetCode第49题字母异位词分组
LeetCode第49题"字母异位词分组"的解题方法,通过将每个字符串的字符排序后作为键存储在HashMap中,有效地将所有字母异位词分组。
LeetCode第49题字母异位词分组
|
3月前
|
存储
Leetcode第49题(字母异位词分组)
LeetCode第49题要求将字符串数组中的字母异位词分组,可以通过将每个字符串排序后作为键存入哈希表,最后将哈希表中的值添加到结果列表中来实现。
26 1
|
3月前
|
算法
Leetcode第十七题(电话号码的字母组合)
这篇文章介绍了如何使用深度优先搜索(DFS)算法来解决LeetCode第17题——电话号码的字母组合问题,通过递归方法生成所有可能的字母组合。
29 0
Leetcode第十七题(电话号码的字母组合)
|
3月前
|
索引
【LeetCode 11】242.有效的字母异位词
【LeetCode 11】242.有效的字母异位词
24 0
【LeetCode 11】242.有效的字母异位词
|
3月前
|
算法
【LeetCode 52】17.电话号码的字母组合
【LeetCode 52】17.电话号码的字母组合
47 0
|
5月前
|
算法
LeetCode第17题电话号码的字母组合
该文章介绍了 LeetCode 第 17 题电话号码的字母组合的解法,通过分析得出可使用递归和回溯的思想解决,避免循环穷举的高循环次数,并给出了具体的编码实现,同时总结了该题较难理解,需要了解递归的本质,当嵌套循环层次多时可考虑递归。
LeetCode第17题电话号码的字母组合
|
5月前
|
算法 Java
LeetCode经典算法题:矩阵中省份数量经典题目+三角形最大周长java多种解法详解
LeetCode经典算法题:矩阵中省份数量经典题目+三角形最大周长java多种解法详解
64 6
|
5月前
|
人工智能 算法 Java
LeetCode经典算法题:井字游戏+优势洗牌+Dota2参议院java解法
LeetCode经典算法题:井字游戏+优势洗牌+Dota2参议院java解法
60 1
|
5月前
|
存储 算法 Java
LeetCode经典算法题:预测赢家+香槟塔java解法
LeetCode经典算法题:预测赢家+香槟塔java解法
84 1