#include <string> #include <unordered_set> class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param str string字符串 * @return string字符串vector */ vector<string> ans; string res = ""; void dfs(string str){ if(str.empty()) {ans.push_back(res);return;} unordered_set<char> u_set={}; for(size_t i=0;i<str.size();i++){ char tmp = str.at(i); if(u_set.count(tmp)!=0) continue; else u_set.insert(tmp); res += tmp; str.erase(i,1); dfs(str); str.insert(str.begin()+i, res.back()); res.pop_back(); } } vector<string> Permutation(string str) { // write code here dfs(str); return ans; } };