剑指offer-打印出字符串的所有排列
来源:互联网 发布:网络运营托管 编辑:程序博客网 时间:2024/06/06 12:21
输入一个字符串, 按字典序打印出该字符串中字符的所有排列。例如输入字符串abc, 则打印出由字符a, b, c所能排列出来的所有字符串abc, acb, bac, bca, cab和cba。
输入描述 :
输入描述 :
输入一个字符串, 长度不超过9(可能有字符重复), 字符只包括大小写字母。
#include <iostream>#include <vector>#include <string>#include <algorithm>using namespace std;void Permutation(vector<string> &v,string str,int begin){if (begin == str.size() - 1){v.push_back(str);}for (int i = begin; i <= str.size() - 1; i++){if (i != begin&&str[i] == str[begin])continue;swap(str[i], str[begin]);Permutation(v, str, begin + 1);swap(str[i], str[begin]);}}vector<string> Permutation(string str) {vector<string> re;if (str.size() == 0)return re;Permutation(re, str, 0);sort(re.begin(), re.end());return re;}int main(){string str;//vector<string> v = {"cab","bac","cba","bca"};vector<string> v;//sort(v.begin(),v.end());cin >> str;v = Permutation(str);return 0;}
阅读全文
0 0
- 剑指offer-打印出字符串的所有排列
- 《剑指Offer》面试题:按字典序打印出该字符串中字符的所有排列
- 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串(剑指offer)
- 打印出字符串中字符的所有排列
- 输入字符串,要求打印出所有字符排列的可能性
- 算法:打印出所有不同的排列
- 剑指offer_输入一个字符串,按字典序打印出该字符串中字符的所有排列
- 输入一个字符串,打印出该字符串中字符的所有排列
- 输入一个字符串,打印出该字符串中字符的所有排列
- 输入一个字符串,打印出该字符串中字符的所有排列。
- 输入一个字符串,打印出该字符串中字符的所有排列
- 输入一个字符串,打印出该字符串中字符的所有排列。
- 输入一个字符串,打印出该字符串中字符的所有排列。
- 输入一个字符串,打印出该字符串中字符的所有排列
- 输入一个字符串,打印出该字符串中字符的所有排列
- java 输入一个字符串,打印出该字符串中字符的所有排列
- 输入一个字符串,按字典序打印出该字符串中字符的所有排列。
- 剑指offer面试题28字符串的所有排列permutation
- Linux源码包安装卸载教程 以apache httpd源码包安装为教程(APR not found)
- Codeforces Round439 C.The Intriguing Obsession
- 【gcd分块】BZOJ4921[互质序列]题解
- 使用ZooKeeper实现Java跨JVM的分布式锁
- JAVA的Md5工具类
- 剑指offer-打印出字符串的所有排列
- java中成员变量与局部变量的区别
- 一点 · 栈
- JAVA提高篇(12)--回退流PushbackInputStream
- 深入Bootstrap中data属性
- ASSERT()
- Linux如何选择yum在线RPM安装还是源码包安装?
- C++ 使用整理
- 吴恩达Deeplearning.ai 知识点梳理(course 1,week 1)