784. 字母大小写全排列

news/2024/7/20 22:49:53 标签: 深度优先, 算法, 数据结构, leetcode, java

字母大小写全排列

描述 :

给定一个字符串 s ,通过将字符串 s 中的每个字母转变大小写,我们可以获得一个新的字符串。

返回 所有可能得到的字符串集合 。以 任意顺序 返回输出。

题目 :

LeetCode 784.字母大小写全排列 :

784. 字母大小写全排列

分析 :

如果本题去掉数字,只告诉你两个字母ab,让你每个字母变化大小写,那就是ab、Ab、aB、AB四种情况,题目比2.6电话号码问题还简单,这里的数字就是干扰项,我们需要做的是过滤掉数字,只处理字母另外还要添加个大小写转换的问题。

由于每个字符的大小写形式刚好差了32,因此在大小写装换时可以用c32 来进行转换和恢复。

解析 :

java">class Solution {
    List<String> list = new ArrayList<>();
    public List<String> letterCasePermutation(String s) {
        char[] arr = s.toCharArray();
        dfs(arr,0);
        return list;
    }
    public void dfs(char[] arr,int start){
        while(start < arr.length && Character.isDigit(arr[start])){
            start++;
        }
        if(start == arr.length){
            list.add(new String(arr));
            return;
        }
        arr[start] ^= 32;
        dfs(arr,start + 1);
        arr[start] ^= 32;
        dfs(arr,start + 1);
    }
}


http://www.niftyadmin.cn/n/5253638.html

相关文章

Redis 持久化 —— 超详细操作演示!

四、Redis 持久化 四、Redis 持久化4.1 持久化基本原理4.2 RDB持久化4.3 AOF持久化4.4 RDB与AOF对比4.5 持久化技术转型 五、Redis 主从集群六、Redis 分布式系统七、Redis 缓存八、Lua脚本详解九、分布式锁 数据库系列文章&#xff1a; 关系型数据库: MySQL —— 基础语法大全…

MIT线性代数笔记-第28讲-正定矩阵,最小值

目录 28.正定矩阵&#xff0c;最小值打赏 28.正定矩阵&#xff0c;最小值 由第 26 26 26讲的末尾可知在矩阵为实对称矩阵时&#xff0c;正定矩阵有以下四种判定方法&#xff08;都是充要条件&#xff09;&#xff1a; 所有特征值都为正左上角所有 k k k阶子矩阵行列式都为正&…

类数组对象转为数组的方法

在开发的过程经常会遇到一些类数组对象&#xff0c;例如arguments&#xff0c;类数组对象具有length属性&#xff0c;也可以通过下标访问到对应值&#xff0c;但是不能使用数组的方法&#xff0c;如果将类数组对象转为数组&#xff0c;数组方法可以帮助我们更快实现逻辑&#x…

函数的内置方法call()、apply()、bind()的异同

相同点&#xff1a; 1. 都可以改变this的指向 2. call 和apply方法&#xff0c;如果无参 等同于函数调用 不同点&#xff1a; 1.无参时&#xff1a; bind()() 等于同函数调用 call() apply() 等同于函数调用 2.有参时&#xff1a; ①函数名.call(obj,10,20);// 有参 第一…

什么叫应用加速,什么情况需要用到应用加速

应用加速的定义 应用加速依赖节点之间的高速通道、转发集群及智能路由技术&#xff0c;实现各地用户的就近接入&#xff0c;通过高速通道直达源站区域&#xff0c;帮助业务解决用户访问卡顿或者延迟过高的问题。使用高速网络和全球范围内的节点技术&#xff0c;确保传输时间和…

javascript中Reflect是什么?三分钟初识

目录 1. Reflect是什么&#xff1f;2. 为什么会出现Reflect&#xff1f;3. 需要怎么去使用Reflect&#xff1f;4. 最终的结果解决什么&#xff1f;5. 使用的注意点6. 常用的技巧 Reflect是Javascript中的一个内置对象&#xff0c;它提供了一组用于操作对象的方法&#xff0c;可…

java接入gpt开发

前情提要 本次文章使用编译器为IDEA2020 使用GPT模型为百度旗下的千帆大模型 如果是个人用或者不流传出去&#xff0c;可以无脑入&#xff0c;因为会免费送20块钱&#xff08;够用上万次&#xff09; 代金卷查看 正式教程&#xff1a; 百度智能云控制台 (baidu.com) 按照步…

【小白专用】Apache2.4+PHP8.3+MYSQL的配置

1.下载PHP和Apache 1、PHP下载 PHP For Windows: Binaries and sources Releases 注意&#xff1a; 1.使用Apache作为服务器的话&#xff0c;一定要下载Thread Safe的&#xff0c;否则没有php8apache2_4.dll这个文件&#xff0c; 如果使用IIS的请下载 NON Tread safe的 2.如果…