import java.util.ArrayList;
import java.util.TreeSet;
public class 输出字符串组合 {
static int count=0;
static TreeSet<String> ts=new TreeSet<String>();;
public static void main(String[] agrs){
String str="aba";
char[] ch=str.toCharArray();
ArrayList<Character> al=new ArrayList<Character>();
for(int i=0;i<ch.length;i++)
al.add(ch[i]);
show(al,new ArrayList<Character>());
System.out.println(count);
}
public static void show(ArrayList<Character> al,ArrayList<Character> bl){
if(al.size()==0){
String str=Arrays.toString(bl);
if(!ts.contains(str)){
ts.add(str);
System.out.println(str);
count++;
}
return;
}
for(int i=0;i<al.size();i++){
ArrayList<Character> cll=new ArrayList<Character>(al);
ArrayList<Character> store=new ArrayList<Character>(bl);
cll.remove(i);
store.add(al.get(i));
show(cll,store);
}
}
}
//将链表的内容变成字符串
class Arrays{
public static String toString(ArrayList<Character> al){
Object[] o=al.toArray();
StringBuilder sb=new StringBuilder();
for(Object oo:o){
sb.append(oo);
}
return sb.toString();
}
}
使用递归输出字符串的组合
最新推荐文章于 2022-09-08 16:49:56 发布