package TraceBack;
import java.util.*;
import java.math.*;
public class 字符所有组合 {
public static void main(String ss[]) {
String str="abcd";
字符所有组合 test=new 字符所有组合();
test.perm(str);
}
public void perm(String str)
{
if(str==null)
return ;
ArrayList<String> array=new ArrayList();
for(int m=1;m<=str.length();m++)//m为集合中元素的个数
{
perm(str,m,array);
}
}
public void perm(String s,int m,ArrayList<String> array)
{
if(m==0)
{
for(int i=0;i<array.size();i++)
{
System.out.print(array.get(i));
}
System.out.println();
}
if(s.length()!=0&&m!=0)
{
array.add(s.charAt(0)+"");
perm(s.substring(1),m-1,array);
array.remove(array.size()-1);
perm(s.substring(1),m,array);
}
}
}
回溯法——字符所有组合
最新推荐文章于 2022-09-20 22:38:48 发布