当前位置: 首页 > news >正文

784. 字母大小写全排列

字母大小写全排列

描述 :

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

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

题目 :

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

784. 字母大小写全排列

分析 :

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

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

解析 :

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.lryc.cn/news/257172.html

相关文章:

  • HarmonyOS鸿蒙应用开发——HTTP网络访问与封装
  • vscode 编写爬虫爬取王者荣耀壁纸
  • spring boot + uniapp 微信公众号 jsapi 支付
  • 【数学建模】《实战数学建模:例题与讲解》第九讲-时间序列分析(含Matlab代码)
  • 大话数据结构-查找-有序表查找
  • Qt实现二维码生成和识别
  • MyBatisX插件
  • 《C++20设计模式》学习笔记---原型模式
  • SpringBootAdmin设置邮件通知
  • 深度解析IP应用场景API:提升风险控制与反欺诈能力
  • Java连接数据库增删改查-MyBatis
  • 在国内,现在月薪1万是什么水平?
  • 【Python网络爬虫入门教程1】成为“Spider Man”的第一课:HTML、Request库、Beautiful Soup库
  • 燕千云汇联易联袂出击:护航医企合规,丝滑内外协作
  • 【线性代数与矩阵论】Jordan型矩阵
  • laravel的ORM 对象关系映射
  • 049:VUE 引入jquery的方法和配置
  • Qt设置类似于qq登录页面
  • 【GDB】
  • 深入了解Java Duration类,对时间的精细操作
  • Python:核心知识点整理大全5-笔记
  • 预训练(pre-learning)、微调(fine-tuning)、迁移学习(transfer learning)
  • 王道数据结构课后代码题 p149 第8—— 12(c语言代码实现)
  • Nginx服务优化以及防盗链
  • 20231210 随机矩阵和M矩阵
  • Linux(centos)学习笔记(初学)
  • ECharts标题字体大小自适应变化
  • 解决使用pnpm安装时Sharp模块报错的方法
  • Redis 数据的持久化 RDB、AOF、RDB + AOF、No persistence 各自优缺点
  • 回味童年经典游戏的项目