字符串的排列
题目链接
Solution
计算一个字符串的所有排列。
c++ stL库中有一个$next_permutation()$函数是可以按字典序大小计算出当前排列的下一个排列的,同样$pre_permutation$可以计算出上一个排列。
所以我们可以将字符串排序,然后依次计算下一个排列即可。
Code
class Solution {
public:
vector<string> Permutation(string str) {
vector<string> ans;
if (str.empty()) return ans;
sort(str.begin(), str.end());
do {
ans.push_back(str);
} while (next_permutation(str.begin(), str.end()));
return ans;
}
};