java递归法求N全排列问题
代码:
public static String [] permutation(int n){
if(n<=0)
System.out.println("输入参数不能为0!");
if(n==1)
return new String[] {"1"};
String[] arg1=permutation(n-1);
String [] arg2=new String [arg1.length*n];
int k=0;
for(int i=0;i<arg1.length;i++){
for(int j=n-1;j>=0;j--){
arg2[k++]=insert(arg1[i],j,n);
}
}
return arg2;
}
public static String insert(String s,int offset,Object object){
StringBuffer sb=new StringBuffer(s);
sb.insert(offset,object);
return sb.toString();
}