NO-27、字符串排列
题目描述
输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则按字典序打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。
输入:
“ab”
输出:
[“ab”,“ba”]
解法1:next_permutation函数是什么意思?
找出当前排列的所有排列
当前序列不存在下一个排列时,函数返回false,否则返回true
class Solution {
public:
vector<string> Permutation(string s) {
if(s.size()==0) return vector<string>();
vector<string>result;
sort(s.begin(),s.end());
do{
result.push_back(s);
}while(next_permutation(s.begin(),s.end()));
return result;
}
};