Combination

public class CaseCombination {
    public List getCombination(String s){
        List result = new ArrayList();
        StringBuilder single = new StringBuilder();
        getCombination(s, 0, single, result);
        return result;
    }

    public void getCombination(String s, int index, StringBuilder single, List result){
        if(index == s.length()){
            result.add(single.toString());
            return;
        }

        single.append(s.charAt(index));
        getCombination(s, index + 1, single, result);
        single.deleteCharAt(single.length() - 1);

        single.append(Character.toUpperCase(s.charAt(index)));
        getCombination(s, index + 1, single, result);
        single.deleteCharAt(single.length() - 1);
    }

    public static void main(String[] args){
        CaseCombination test = new CaseCombination();
        System.out.println(test.getCombination("abc"));
    }
}

你可能感兴趣的:(Combination)