FED5 全排列
描述
请补全JavaScript代码,要求以数组的形式返回字符串参数的所有排列组合。
注意:
1. 字符串参数中的字符无重复且仅包含小写字母
2. 返回的排列组合数组不区分顺序
注意:
1. 字符串参数中的字符无重复且仅包含小写字母
2. 返回的排列组合数组不区分顺序
思路
‘abc’的全排列 = ('a'拼接上'bc'的全排列数组中的每一项) + ('b'拼接上'ac'的全排列数组的每一项) + ('c'拼接上'ab'的全排列数组的每一项)
1. 分离出字符串的每一个字符串,再将剩下的字符串全排列和剪枝的字符相加

<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8>
</head>
<body>
<script type="text/javascript">
const _permute = string => {
// 补全代码
if(string.length === 1){
return [string]
}
const results = []
for(let s of string){
const arr = string.split('').filter(item => item !== s)
_permute(arr.join('')).forEach(item => {
results.push(s+item)
})
}
return results;
}
</script>
</body>
</html>

浙公网安备 33010602011771号