package com.dbdxj.test;
import java.util.*;
public class Test1 {
private String swap(String str, int i, int j){
char[] chs = str.toCharArray();
char tmpC = ' ';
tmpC = chs[i];
chs[i] = chs[j];
chs[j] = tmpC;
return new String(chs);
}
private ArrayList<String> total_Permutation(String str){
ArrayList<String> list = new ArrayList<String>();
String sCur = str;
boolean loop = true;
int length = str.length();
while(loop){
for(int i=1; i<length; i++){
sCur = swap(sCur, i, i-1);
list.add(sCur);
}
if(sCur.substring(0, 1).equals(str.substring(0, 1))){
loop = false;
}
}
return list;
}
private void display(ArrayList<String> list){
for(String line : list){
System.out.println(line);
}
}
public void execute() throws Exception{
String str = new String("abc");
ArrayList<String> list = this.total_Permutation(str);
display(list);
}
public static void main(String[] args) {
Test1 t1 = new Test1();
try{
t1.execute();
}catch(Exception e){
e.printStackTrace();
}
}
}
java 字符串 五重复 全排列
最新推荐文章于 2024-07-22 14:15:06 发布