字符串全排列
来源:互联网 发布:hao123网络连接错误 编辑:程序博客网 时间:2024/06/10 00:47
package Suanfa;
import java.util.Scanner;/**字符串的全排列:
* 输入一个字符串:按字典顺序打印出该字符串中字符的所有排列:
* 例如:输入abc,则打印出a,b,c所能排列出来的所有字符串abc,acb,
* bac,bca,cab,cba,结果按字母的顺序输出:
* 使用递归的思想:把需要全排列的字符串分为两部分看待:求出所有可能出现的第一个位置的字符,将第一个字符和后面的字符
* 一次交换,固定第一个字符,对第一个字符后面的所有的字符求全排列。。。。
* */
public class Permutations {
public static String permutations(String src,int begin){
StringBuffer sb = new StringBuffer();
if(begin==src.length()-1){//只剩下一个字符
return src;
}
for(int i=begin;i<src.length();i++){
src=swap(src,begin,i);
String str=permutations(src, begin+1);
sb.append(str+" ");
}
return sb.toString().trim();
}
public static String swap(String src,int i,int j){
char[] cs=src.toCharArray();
char ch=cs[i];
cs[i]=cs[j];
cs[j]=ch;
String str=new String();
for(int ii=0;ii<cs.length;ii++){
str+=cs[ii];
}
return str;
}
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String str=sc.nextLine();
System.out.println(permutations(str, 0));
}
}
阅读全文
0 0
- 字符串的全排列
- 字符串的全排列
- 字符串全排列问题
- 字符串全排列
- 字符串全排列问题
- 字符串全排列
- 求字符串全排列
- 求字符串全排列
- 字符串的全排列
- 字符串全排列代码
- 字符串全排列
- 字符串全排列
- 字符串全排列
- 字符串的全排列
- 字符串全排列
- 求字符串全排列
- 字符串全排列
- 字符串的全排列
- 阿里云https配置,nginx多证书配置
- nohup 执行 python 程序 , 以及 print 无法输出问题
- cmake配置
- js获取userAgent中操作系统版本
- OkHttp的使用
- 字符串全排列
- 手把手教你玩转Maven
- QT QNetworkDatagram类
- Wannafly模拟赛4 D Fancy Signal Translate(字典树)
- #数据结构
- 例题7-12 旋转游戏(The Rotation Game, Shanghai 2004, UVa1343)
- Java实现传教士与野人过河问题
- p43-3.1(1)
- Python学习笔记:七 银行管理系统