Weekly Contest 72 leetcode 784. Letter Case Permutation

xiaoxiao2021-02-28  33

Given a string S, we can transform every letter individually to be lowercase or uppercase to create another string.  Return a list of all possible strings we could create.

Examples: Input: S = "a1b2" Output: ["a1b2", "a1B2", "A1b2", "A1B2"] Input: S = "3z4" Output: ["3z4", "3Z4"] Input: S = "12345" Output: ["12345"]

Note:

S will be a string with length at most 12.S will consist only of letters or digits. 简单题。 package leetcode; import java.util.ArrayList; import java.util.List; public class Letter_Case_Permutation_784 { public List<String> letterCasePermutation(String S) { char[] cs=S.toCharArray(); char[] result=new char[cs.length]; List<String> list=new ArrayList<String>(); helper(cs, 0, result, list); return list; } public void helper(char[] cs,int index,char[] result,List<String> list){ if(index==cs.length){ list.add(String.valueOf(result)); return; } if(cs[index]>='0'&&cs[index]<='9'){ result[index]=cs[index]; helper(cs, index+1, result, list); } else if(cs[index]>='a'&&cs[index]<='z'){ result[index]=cs[index]; helper(cs, index+1, result, list); result[index]=(char) (cs[index]-'a'+'A'); helper(cs, index+1, result, list); } else if(cs[index]>='A'&&cs[index]<='Z'){ result[index]=cs[index]; helper(cs, index+1, result, list); result[index]=(char) (cs[index]-'A'+'a'); helper(cs, index+1, result, list); } } public static void main(String[] args) { // TODO Auto-generated method stub Letter_Case_Permutation_784 l=new Letter_Case_Permutation_784(); List<String> list=l.letterCasePermutation("a1b2"); for(String s:list){ System.out.println(s); } } }

转载请注明原文地址: https://www.6miu.com/read-2623611.html

最新回复(0)