字符串的全排列

来源:互联网 发布:制作html5的软件 编辑:程序博客网 时间:2024/06/05 09:29
public static void permutation(char[]array,int len,int start,ArrayList<String> list){if(start==len){//System.out.print(array);String s=String.valueOf(array);if(!list.contains(s)){list.add(s);}}else{for(int i=start;i<len;i++){if(i!=start&&array[i]==array[start])//重复情况aabcontinue;else if(!isrepet(array,i,start+1)){swap(array,i,start);permutation(array,len,start+1,list);swap(array,i,start);}}}}public static boolean isrepet(char[]s,int i,int start){//是否重复abbfor(int j=start;j<i;j++){if(s[i]==s[start])return true;}return false;}public static void swap(char[]array,int i,int j){char temp=array[i];array[i]=array[j];array[j]=temp;}