打乱字符串

题目:输入一个字符串,打印出该字符串中字符的所有排列。例如输入字符串abc,则输出由字符a、b、c所能排列出来的所有字符串abc、acb、bac、bca、cab和cba。

function fn(arr = ['a','b','c','d'],index = 0){
    if(arr.length == 0 || index < 0){
        return
    }
    if(index == arr.length - 1){
        console.log(arr.toString())
    }else{
        for (let  i = index; i < arr.length; i++) {
            let temp = arr[i];
            arr[i] = arr[index];
            arr[index] = temp;

            fn(arr, index + 1);

            temp = arr[i];
            arr[i] = arr[index];
            arr[index] = temp;
        }
    }
}
以自己现在的努力程度,还没有资格和别人拼天赋
原文地址:https://www.cnblogs.com/zhenjianyu/p/13851269.html