首页 > 其他 > 详细

字符串的排列

时间:2021-05-13 00:45:00      阅读:17      评论:0      收藏:0      [点我收藏+]

今天突然看到一个字符串排列的算法,考虑自己写一下实在是太难了;

例子:abc

abc acb bca bac cab cba

var permutation = function(s) {
const result = []
if(s){
queue = s.split(‘‘)
permutationCore(queue,result)
}
// result.sort()
// return [...new Set(result)]
return result
};
function permutationCore(queue,result,temp="",current=""){
current += temp
if(queue.length === 0){
result.push(current)
return
}
for(let i=0;i<queue.length;i++){
temp = queue.shift()
permutationCore(queue,result,temp,current)
queue.push(temp)
console.log(queue)
}
}

console.log(permutation(‘abc‘))
由于不太好理解。 主要思想是
abc      acb
bac      bca
cab      cba
其实是利用回朔。 
  

字符串的排列

原文:https://www.cnblogs.com/MDGE/p/14762162.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!