剑指 Offer 38. 字符串的排列
var permutation = function(s) {let n = s.length;if (n <= 1) {return [s];}let ans = [s[0]];for (let i = 1; i < n; i++) {ans = ans.map(a => getInserts(a, s[i]));ans = ans.flat(); // flat 返回新数组}// ans 需要去重return Array.from(new Set(ans));};function getInserts(target, intertChar) {let ans = [];let n = target.length;for (let i = 0; i <= n; i++) {let arr = target.split('');arr.splice(i, 0, intertChar);let tmp = arr.join('');ans.push(tmp);}return ans;}permutation('ABC');
