在 JavaScript 中创建字符串的所有可能的唯一排列
问题
我们需要编写一个接受字符串str的JavaScript函数。我们的函数应该创建输入字符串的所有排列并删除重复项(如果存在)。这意味着,我们必须以所有可能的顺序打乱输入中的所有字母。
示例
以下是代码-
const str = 'aabb';
const permute = (str = '') => {
if (!!str.length &&str.length< 2 ){
return str
}
const arr = [];
for (let i = 0; i < str.length; i++){
let char = str[i]
if (str.indexOf(char) != i)
continue
let remainder = str.slice(0, i) + str.slice(i + 1, str.length)
for (let permutation of permute(remainder)){
arr.push(char + permutation)
}
}
return arr
}
console.log(permute(str));输出结果以下是控制台输出-
[ 'aabb', 'abab', 'abba', 'baab', 'baba', 'bbaa' ]
热门推荐
10 儿子立冬祝福语简短独特
11 对当兵的祝福语简短
12 侄儿高考试祝福语简短
13 伴郎红包祝福语朋友简短
14 媳妇生日简短祝福语朋友
15 公司年会祝福语简短最好
16 元旦感恩祝福语简短大全
17 红包祝福语简短10字
18 周六早晨祝福语简短