首页 > 其他分享 >784. 字母大小写全排列

784. 字母大小写全排列

时间:2022-10-30 02:22:08浏览次数:90  
标签:784 res 字母 List char 大小写 chars

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);
        }

    }
}

标签:784,res,字母,List,char,大小写,chars
From: https://www.cnblogs.com/eiffelzero/p/16840385.html

相关文章

  • 去掉字符串中最后一个字母
    问题:无规律的字符串中,最后一个是字母的去掉,是数字的保留。函数解决: =IF(ISERROR(-RIGHT(A1)),LEFT(A1,LEN(A1)-1),A1)解题思路:LEFT(A1,LEN(A1)-1)是去掉最后一位......
  • 计算大写字母输入的个数
    #include<stdio.h>#include<memory.h>intmain(){ charch; intnum[26],i; memset(num,0,26*sizeof(int));//初始化数组num while((ch=getchar()!=......
  • SQL Server之选出某个字段中全部为数字或全部为字母的记录
    https://blog.csdn.net/jclian91/article/details/78197736这个问题可以用SQL的通配符来解决,我们以下面的sample_table表为例: 现在我们选出表......
  • mysql字段名区分大小写吗
    mysql怎样修改字段值,详细工具/材料:电脑、mysql1、首先打开mysql,输入命令describe数据表名称,查看当前的数据表结构信息。2、如果想要添加新的字段信息,那么通过命令alter...ad......
  • 哈希表——有效的字母异位词
    暴力的解法,两层for循环,同时还要记录字符是否重复出现,很明显时间复杂度是O(n^2)利用哈希表解法classSolution{public:boolisAnagram(strings,stringt){......
  • java标识符(java标识符区分大小写)
    Java中标识符定义的规则有哪些?Java中标识符定义的规则:1、类和接口名。每个字的首字母大写,含有大小写。例如,MyClass,HelloWorld,Time等。2、方法名。首字符小写,其余的首字母大......
  • CF 237E(字母选取-费用流)
    题目大意:有一字符串S,你需要从n个字符串中选取一些来拼出这个串,第i个字符串代价为i,限制取P次,问最小代价(无解输出-1)建立超源S=0,超汇T=n+26+1 1-n的结点为字符串n+1-n+26的......
  • 大小写金额转换(电子表格大小写金额转换)
    excel金额大小写怎么转换?1、比如输入,得出伍万肆仟柒佰叁?  若输入数据在A1单元格内,则公式如下:=IF(LEN(A1)=1,"零元零"&TEXT(A1,"[DBNum2]G/通用格式")&"分",IF(OR(RIGHT......
  • POJ 3049(输出字母)
    果断搜ProgramP3049;varn,i,j,m:longint;a:array[1..26]ofchar;b:array['a'..'z']ofboolean;c:char;procedureswap(vara,b:char);vart:char;begin......
  • 大写英文字母(大写英文字母的ascii码值)
    打英文字母时以一个字母会变成大写怎样才能不变大写呢?word20?工具--自动更正选项,如下图,取消“句首字母大写”的选项。火车票上的大写英文字母是什么意?火车票上的大写英文字......