天天看點

字元串的所有組合(非空子集)

package 字元串;

//字元串的所有組合(非空子集)

import java.util.ArrayList;

public class AllCombination {  

    public static void main(String[] args) {

   char []s={'a','b','c','d'};

   ArrayList<Character> arr=new ArrayList();

   for(int i=1;i<=s.length;i++){//長度從1到lenth

    combine(s,i,0,arr);

   }   

}

    public  static void combine(char[]s,int k,int start,ArrayList<Character> arr){

    if(k==0){

    System.out.println(arr.toString());

    return;

    }

    if(start==s.length){

    return;

    }

    arr.add(s[start]); //要s[start]

    combine(s,k-1,start+1,arr);

    arr.remove((Character)s[start]);//不要s[start]

    combine(s,k,start+1,arr);

    }

}

繼續閱讀