java 字符串全排列 和 去重

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 字符串全排列 和 去重相关的知识,希望对你有一定的参考价值。

用递归进行排序 ,

用TreeSet 去重。

public class test { 
public static void main(String []args){
String str = "AVCV";
TreeSet set = new TreeSet();
List list = digui(str);
System.out.println(list.size());
for(Object o :list){
set.add(o.toString());
}
}
public static List digui(String str){
List list =new ArrayList();
if(str.length() == 1){
list.add(str);
}
for(int i = 0;i < str.length();i++){
String f = str.substring(i,i+1);
String res = str.substring(0,i)+str.substring(i+1);
List px = digui(res);
for(int j = 0;j<px.size();j++){
list.add(f+px.get(j).toString());
}
}
return list;
}
}

以上是关于java 字符串全排列 和 去重的主要内容,如果未能解决你的问题,请参考以下文章

全排列问题(JAVA和Python实现)

全排列去重

[Mdfs] lc剑指 Offer 38. 字符串的排列(全排列+枚举顺序+组合类型枚举+知识理解+模板题)

全排列 (递归求解+字典序) java 转载

java实现全排列问题

字符串全排列 java实现