题目
在题目的要求中,存在可能存在重复的样例,因此在最后的结果中需要去重,代码如下:
function Permutation(str)
{
// write code here
var result = [];
if (str.length <= 1) {
return [str];
}else{
for (var i = 0; i < str.length; i++) {
var c = str[i];
var newStr = str.slice(0, i) + str.slice(i + 1, str.length);
var l = Permutation(newStr);
for (var j = 0; j < l.length; j++) {
var tmp = c + l[j];
result.push(tmp);
}
}
}
// 去掉重复的
var rese = [];
for(var x = 0; x < result.length; x++){
if(rese.indexOf(result[x]) <= -1){
rese.push(result[x])
}
}
return rese
}