Java 各种长度的动态字符串的所有可能组合?
我需要打印任何字符串的所有可能组合,而不需要任何字符重复, 例如,假设输入为-Java 各种长度的动态字符串的所有可能组合?,java,string,Java,String,我需要打印任何字符串的所有可能组合,而不需要任何字符重复, 例如,假设输入为-ABC 所需的组合为-ABCACBBCABACCABCBA 下面是我运行良好的代码- public static void main(String[] args) { String name="abcd"; char[] nameArray=name.toCharArray(); String result = null; int flag=0; for(int i=0;i<nam
ABC
所需的组合为-ABC
ACB
BCA
BAC
CAB
CBA
下面是我运行良好的代码-
public static void main(String[] args) {
String name="abcd";
char[] nameArray=name.toCharArray();
String result = null;
int flag=0;
for(int i=0;i<nameArray.length;i++){
for(int j=0;j<nameArray.length;j++){
for(int k=0;k<nameArray.length;k++){
for(int l=0;l<nameArray.length;l++){
result=""+nameArray[i]+nameArray[j]+nameArray[k]+nameArray[l];
flag=0;
for(Character c:nameArray){
if(!result.contains(c.toString())){
flag=1;
}
}
if( flag==0){
System.out.println(result);
}
}
}
}
}
}
publicstaticvoidmain(字符串[]args){
String name=“abcd”;
char[]nameArray=name.toCharArray();
字符串结果=null;
int标志=0;
对于(int i=0;我为您找到了此博客”
使用递归
并准确解释他在做什么。你可以在之后或在他打印排列的代码中删除你的副本。创建一个递归函数。我也尝试过递归
,但无法编写动态长度。可能的副本,看看这是否有助于你,GirishAl如此相关: