c_cpp 字符串的排列的.cpp
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 字符串的排列的.cpp相关的知识,希望对你有一定的参考价值。
//输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。
void PermutationHelp(vector<string> &ans, size_t k, string str) //遍历第k位的所有可能
{
if(k == str.size() - 1)
ans.push_back(str);
for(size_t i = k; i < str.size(); i++)
{
if(i != k && str[k] == str[i])
continue;
swap(str[i], str[k]);
PermutationHelp(ans, k + 1, str);
}
}
vector<string> Permutation(string str) {
sort(str.begin(), str.end());
vector<string> ans;
PermutationHelp(ans, 0, str);
return ans;
}
以上是关于c_cpp 字符串的排列的.cpp的主要内容,如果未能解决你的问题,请参考以下文章
c_cpp 重新排列二进制字符串作为备用x和y出现
c_cpp 具有重复的排列
c_cpp 子集树与排列树的.cpp
c_cpp 就地重新排列给定的链表。
c_cpp 31.下一个排列
c_cpp 排列