字符串全排列 java实现
来源:互联网 发布:mac如何批量删除照片 编辑:程序博客网 时间:2024/05/01 21:30
经常会遇到字符串全排列的问题。例如:输入为{‘a’,’b’,’c’},则其全排列组合为abc,acb,bac,bca,cba,cab。对于输入长度为n的字符串数组,全排列组合为n!种。
思路:从字符串数组中每次选取一个元素,作为结果中的第一个元素。然后,对剩余的元素全排列,步骤跟上面一样。很明显这是个递归处理的过程,一直到最后即可。
按照惯例,talk is cheap,show me the code:
package leilei.bit.edu.tree;public class RecursionTree { public static void permutation(char[] s,int from,int to) { if(to <= 1) return; if(from == to) { System.out.println(s); } else { for(int i=from; i<=to; i++) { swap(s,i,from); //交换前缀,使其产生下一个前缀 permutation(s, from+1, to); swap(s,from,i); //将前缀换回,继续做上一个前缀的排列 } } } public static void swap(char[] s,int i,int j) { char tmp = s[i]; s[i] = s[j]; s[j] = tmp; } public static void main(String[] args) { char[] s = {'a','b','c'}; permutation(s, 0, 2); }}
代码运行结果
abcacbbacbcacbacab
0 0
- 全排列字符串java实现
- 字符串全排列 java实现
- 字符串全排列 java实现
- java字符串全排列的实现方式
- java实现有条件字符串全排列输出
- 字符串全排列问题 java语言实现
- Java实现字符串的全排列
- [算法学习]Java实现字符串全排列
- Java递归实现字符串全排列
- Java实现的字符串全排列算法
- 实现字符串全排列
- 实现字符串全排列
- java实现全排列
- java实现全排列
- java全排列实现
- Java实现全排列
- Java实现全排列
- java实现全排列
- 堆的一些简单应用
- 第十一周项目训练6 圆,圆柱类族的设计
- Android源码分析之SharedPreferences
- Spring MVC 学习笔记(二):@RequestMapping用法详解
- Ubuntu14.04 64位+Python3.4环境下安装opencv3.0的方法
- 字符串全排列 java实现
- Android自定义popupwindow实现ios中UC浏览器中长按图片弹出的PopupWindow效果
- 数据结构—动态顺序表的实现
- 机器学习十大算法的核心思想、工作原理、适用 情况及优缺点
- Myexclipse创建Junit测试
- solr4安装 (注意不适用于5)
- poj1458 Common Subsequence (dp,最长公共子序列)
- 最详细的Log4j使用教程
- U3D多点触控框架实例(上)