字符串的排列
来源:互联网 发布:java递归1加到100 编辑:程序博客网 时间:2024/05/16 04:42
输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。
输入描述:
输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。
思路:
把字符串分为两部分:第一部分是字符串的第一个字符,第二部分是第一个字符以后的所有字符。
用第二部分的字符逐个与第一个字符交换。
注意特殊输入:
字符串为null
字符串只有单个字符,如:a
字符串包含重复字母,如:aa, aba
另外,本题要求字符串的输出顺序保持字典序,本文代码使用TreeSet保持字典序
Java 代码如下:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
扩展:
1、求【a、b、c】的组合:【a、b、c、ab、ac、bc、abc】
2、输入8个数字的数组,判断能不能把这8个数字放到正方体的8个顶点,使得正方体的三组相对面的4个顶点的和相等。
对于上面的问题,可以先求出所有的排列,然后去除不满足条件的排列。
阅读全文
0 0
- 字符串的全排列
- 字符串的全排列
- 转载 字符串的排列
- 字符串的排列--总结
- 字符串的排列
- 字符串的全排列
- 字符串的排列
- 53.字符串的排列
- 字符串的全排列
- 字符串的全排列
- 字符串的全排列
- 字符串的全排列
- 字符串的排列
- 字符串的排列
- 字符串的排列
- 字符串的倒序排列
- 字符串的全排列
- 字符串的排列
- 降雨等级划分标准
- 记个小问题:NestedScrollView+RecyclerView冲突,滑动黏连
- java 开发模式
- Java Runtime exec的挂掉问题,
- 38.lsof
- 字符串的排列
- 这是我的第一篇博客
- 注意区分大端模式&小端模式
- C# SQL 语句参数化使用 like 报错
- 文件上传
- 收藏的一些网站
- RS232/485、UART及波特率相关
- 网游通讯传输可变长度的数值和数组
- 栈(回文数)