输入一个字符串,打印出该字符串中字符的所有排列。
你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。
示例
输入:s = "abc"
输出:["abc","acb","bac","bca","cab","cba"]
var res=[];
var str='';
var permutation = function(s) {
var res=[];
var newstr='';
var arr=s.split('');
var dfs=function(arr,newstr){
if(arr.length===1){
res.push(newstr + arr[0])
}
else{
for(var i=0;i<arr.length;i++){
let char=arr.splice(i,1).join("");
newstr+=char;
dfs(arr,newstr);
arr.splice(i,0,char);
newstr=newstr.slice(0,-1);
}
}
}
dfs(arr,newstr);
return [...new Set(res)];
};
var arr='';
console.log(permutation(arr));