public class Test1 {
public static HashSet<String> set=new HashSet<String>();
public static void main(String[] args) {
String str="YONYOU";
Test1 t=new Test1();
t.sort(str.toCharArray(), 0, str.length()-1);
System.out.println("size:"+set.size());
}
public void sort(char[] ch,int start,int end){
if(start==end){
System.out.println(Arrays.toString(ch));
set.add(Arrays.toString(ch));
}else{
for(int i=start;i<=end;i++){
swap(ch,start,i);
sort(ch, start+1, end);
swap(ch,start,i);
}
}
}
public void swap(char[] ch,int s,int e){
char tmp=ch[s];
ch[s]=ch[e];
ch[e]=tmp;
}
}
“YONYOU”多少种组合方式
最新推荐文章于 2020-10-08 16:48:48 发布
本文介绍了一个使用Java实现的字符串全排列算法。通过递归和字符交换的方法,该算法能够生成给定字符串的所有可能排列组合,并将结果存储在一个HashSet中以避免重复。代码展示了如何初始化HashSet,定义递归函数进行排列,以及如何在主函数中调用该方法并打印结果。
4896

被折叠的 条评论
为什么被折叠?



