分析:
function fullpermutate(str) {
let result = [];
if (str.length == 1) {
result.push(str);
} else if (str.length > 1) {
for (let index = 0, len = str.length; index < len; index++) {
let current = str[index];
let rest = str.slice(0, index) + str.slice(index + 1, str.length);
// 上一次递归返回的全排列
let preResult = fullpermutate(rest);
// 组合
for (let index = 0, len = preResult.length; index < len; index++) {
let tmp = current + preResult[index];
result.push(tmp);
}
}
}
return result;
}
console.log('abc:', fullpermutate("abc")); // [ 'abc', 'acb', 'bac', 'bca', 'cab', 'cba' ]
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。