问题描述:
给定一个字符串,求出该字符串所有的字符排列方式。
解题方法:回溯
代码如下
class Main {
public static void main(String[] args) {
String str="ABC";
char a []=str.toCharArray();
f(a,0);
}
static void f(char a [],int n) {
if(n==a.length-1) {
print(a);
return;
}
for(int i=n;i<a.length;i++) {//将i位置的字符和n位置的字符不断交换位置
{char temp=a[i];a[i]=a[n];a[n]=temp;}
f(a,n+1);
{char temp=a[i];a[i]=a[n];a[n]=temp;}//恢复交换,回溯
}
}
static void print(char a []) {
for(int i=0;i<a.length;i++)
System.out.print(a[i]+" ");
System.out.println();
}
}