784. 字母大小写全排列

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/letter-case-permutation
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。


    List<String> ret = new ArrayList<>();
    public List<String> letterCasePermutation(String s) {
        dfs(s,0,new char[s.length()]);
        return ret;

    }


    public void dfs(String s, int index, char[] data) {
        if(s.length() == index) {
            ret.add(new String(data));
            return;
        }
        // 数字类型,直接赋值
        if(Character.isDigit(s.charAt(index))) {
            data[index] = s.charAt(index);
            dfs(s,index+1,data);
        } else {
            // 两种选择
            data[index] = Character.toLowerCase(s.charAt(index));
            dfs(s,index+1,data);
            data[index] = Character.toUpperCase(s.charAt(index));
            dfs(s,index+1,data);
        }


    }
posted @ 2022-02-28 16:34  一颗青菜  阅读(6)  评论(0)    收藏  举报