当前位置:   article > 正文

打印一个字符串全排列

打印一个字符串全排列
import java.util.ArrayList;

public class Test45 {

    //打印一个字符串的全排列
    public static ArrayList<String> permutation (String str) {
        ArrayList<String> res =  new ArrayList<>();
        if (str == null || str.length() == 0) {
            return res;
        }
        char[] chs = str.toCharArray();
        process1(chs, 0, res);
        return res;
    }

    public static void process1 (char[] str , int i , ArrayList<String> res ) {
        if (i == str.length) {
            res.add(String.valueOf(str));
        }
        for (int j = i; j < str.length; j++) {
            swap(str , i , j);
            process1(str , i + 1 , res);
            swap(str , i , j);
        }
    }

    public static void swap (char[] chs , int i , int j) {
        char temp = chs [i];
        chs[i] = chs [j];
        chs[j] = temp;
    }
}
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号