题解 | #字符串的排列#
字符串的排列
https://www.nowcoder.com/practice/fe6b651b66ae47d7acce78ffdd9a96c7
#include <queue> #include <set> #include <utility> #include <vector> class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param str string字符串 * @return string字符串vector */ void recursion(string &str,vector<string> &res,int index){ if(index==str.length()-1){ res.push_back(str); }else{ set<char> s; for(int i=index;i<str.length();i++){ if(s.find(str[i])!=s.end()){ continue; } s.insert(str[i]); swap(str[i], str[index]); recursion(str, res, index+1); swap(str[i], str[index]); } } } vector<string> Permutation(string str) { // write code here vector<string> res; recursion(str, res, 0); return res; } };