字符串的排列
2016-04-11 16:13
260 查看
题目描述
输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 结果请按字母顺序输出。 输入描述:
输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。
class Solution { public: void p(string s,vector<string> &result,int pos) { if(pos==s.length()-1) result.push_back(s); for(int i=pos;i<s.length();++i) { if(i!=pos&&s[i]==s[pos]) continue; swap(s[i],s[pos]); p(s,result,pos+1); } } vector<string> Permutation(string str) { vector<string> result; sort(str.begin(),str.end()); p(str,result,0); return result; } };
相关文章推荐
- 基于sklearn的例子-准备阶段
- Eclipse下 java.lang.OutOfMemoryError: PermGen space
- log4j.additivity用法和例子
- ARM嵌入式linux培训班视频 全集
- 如何在caffe中配置每一个层的结构
- form 转json最佳示例
- Android四大基本组件介绍与生命周期
- mysql高可用之DRBD + HEARTBEAT + MYSQL
- iOS手势之pinch
- format打印的使用
- ios 之 instancetype与id
- winForm框架下GDI绘图的一点经验分享
- 效率就是生命,C中的常量和变量
- Axure简单使用
- java 实现微信搜索附近人功能
- 获取时间差:发表评论或者其他内容时显示时间为几秒前,几小时前
- 常用Linux命令
- Android开发中多进程共享数据简析
- 移动终端app测试点总结
- 二、2440 裸机 中断原理分析