题目:输入一个字符串,打印出该字符串中字符的所有排列。例如输入字符串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;
}
}
}