Coding interview:字符串的全排列

使用递归来解决问题,下面给出代码。

void permutation(char[]str,int i){

        if(i==str.length){
            System.out.println(str);
            return;
        }

        for(int k=i;k<str.length;k++){
            swap(str,i,k);
            permutation(str,i+1);
            swap(str,i,k);
        }

    }


    void swap(char[]str,int i,int j){
        char tmp = str[i];
        str[i] = str[j];
        str[j] = tmp;
    }

    public void permutation(char[]str){
        permutation(str,0);
    }

    public static void main(String[]args){
        Permutation permutation = new Permutation();
        permutation.permutation("abcd".toCharArray());
    }

猜你喜欢

转载自blog.csdn.net/zhumingyuan111/article/details/80208757