有点不求甚解了。。。。。。
class Solution {
public:
void dfs(string s,string temp,vector<bool>&visited,set<string>&res)
{
if(temp.length()==s.length()){
res.insert(temp);
return;
}
for(int i=0;i<s.length();i++)
{
if(visited[i]) continue;
visited[i]=true;
dfs(s,temp+s[i],visited,res);
visited[i]=false;
}
}
vector<string> permutation(string s) {
vector<bool>visited(s.length(),false);
set<string>res;
dfs(s,"",visited,res);
return vector<string>(res.begin(),res.end());
}
};