java给定字母和数字组成的字符串,打印所有可能排序组合情况

例如:输入abb, 打印出abb,bba,aba
输出所有的排列组合java算法

基本的思路是使用递归:

 public static void permutation(String str) { 
    permutation("", str); 
}

private static void permutation(String prefix, String str) {
    int n = str.length();
    if (n == 0) System.out.println(prefix);
    else {
        for (int i = 0; i < n; i++)
            permutation(prefix + str.charAt(i), str.substring(0, i) + str.substring(i+1, n));
    }
}