网站建设零基础教材免费下载,网站页面怎么设计,网站建设主要工作流程,一个服务器多个网站好吗字母大小写全排列
描述 :
给定一个字符串 s #xff0c;通过将字符串 s 中的每个字母转变大小写#xff0c;我们可以获得一个新的字符串。
返回 所有可能得到的字符串集合 。以 任意顺序 返回输出。
回文串 是正着读和反着读都一样的字符串。
题目 :
LeetCode 784. 字母…字母大小写全排列
描述 :
给定一个字符串 s 通过将字符串 s 中的每个字母转变大小写我们可以获得一个新的字符串。
返回 所有可能得到的字符串集合 。以 任意顺序 返回输出。
回文串 是正着读和反着读都一样的字符串。
题目 :
LeetCode 784. 字母大小写全排列 :
784. 字母大小写全排列 分析 :
如果本题去掉数字只告诉你两个字母ab让你每个字母变化大小写那就是ab、Ab、aB、AB四种情况题目比电话号码问题还简单这里的数字就是干扰项我们需要做的是过滤掉数字只处理字母。另外还要添加个大小写转换的问题。如下图所示: 由于每个字符的大小写形式刚好差了32因此在大小写装换时可以用c32 来进行转换和恢复 .
解析 :
class Solution {ListString list new ArrayList();public ListString 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);}
}