awesome-coding-js
awesome-coding-js copied to clipboard
字符串的排列【其他解法】
function Permutation(str) {
const queue = str.split('');
queue.sort();
return PermutationCore(queue);
}
function PermutationCore(queue) {
let result = [];
if (queue.length === 1) {
return queue;
}
queue.forEach((item, index) => {
const newArr = queue.slice(0);
newArr.splice(index, 1);
const newArray = PermutationCore(newArr).map(i => (item + i));
result = result.concat(newArray);
});
return result;
}
console.log(Permutation('abc')); // ["abc", "acb", "bac", "bca", "cab", "cba"]