题解 | #字符串的排列#
字符串的排列
https://www.nowcoder.com/practice/fe6b651b66ae47d7acce78ffdd9a96c7
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param str string字符串 * @return string字符串vector */ void RecHelper(vector<string>& res, string& cur, vector<int>& visited, string& str) { if(cur.size()==str.size()) { res.push_back(cur); return; } for(int i=0; i<str.size(); i++) { if(visited[i]==1) continue; if(i>0 && str[i-1]==str[i] && visited[i-1]==1) continue; cur.push_back(str[i]); visited[i]=1; RecHelper(res, cur, visited, str); visited[i]=0; cur.pop_back(); } } vector<string> Permutation(string str) { vector<string> res; string cur=""; vector<int> visited(str.size(), 0); sort(str.begin(), str.end()); RecHelper(res, cur, visited, str); return res; } };
磨砂的指名者 文章被收录于专栏
怎么绘世呢?