// 再帰関数 function getPermutations(str) { if (str.length <= 1) return [str]; let results = []; for (let i = 0; i < str.length; i++) { let char = str[i]; let remaining = str.slice(0, i) + str.slice(i + 1); for (let p of getPermutations(remaining)) { results.push(char + p); } } return results; }
// 再帰関数 function getPermutations(str) { if (str.length <= 1) return [str]; let results = []; for (let i = 0; i < str.length; i++) { let char = str[i]; let remaining = str.slice(0, i) + str.slice(i + 1); for (let p of getPermutations(remaining)) { results.push(char + p); } } return results; }
// 再帰関数(順列生成) function getPermutations(str) { if (str.length <= 1) return [str]; let results = []; for (let i = 0; i < str.length; i++) { let char = str[i]; let remaining = str.slice(0, i) + str.slice(i + 1); for (let p of getPermutations(remaining)) { results.push(char + p); } } return results; }