package com.test;
import java.util.Iterator;
import java.util.LinkedList;
public class Test {
private LinkedList<String> list = new LinkedList<String>();
private void PaiLie(String startStr, String str) {
for (int i = 0; i < str.length(); i++) {
for (int j = i + 1; j < str.length(); j++) {
char[] ch = str.toCharArray();
char temp = ch[i];
ch[i] = ch[j];
ch[j] = temp;
String startStr1 = startStr + String.valueOf(ch[0]);
String s = (new String(ch)).substring(1,(new String(ch)).length());
if ((!list.contains(startStr1 + s)) ){
list.add(startStr1 + s);
}
PaiLie(startStr1, s);
}
}
}
/**
* 打印
*/
private void display() {
Iterator<String> it = list.listIterator();
while (it.hasNext()) {
System.out.println(it.next().toString());
}
}
public static void main(String[] args) throws InterruptedException {
Test test = new Test();
test.PaiLie("","123");
test.display();
}
}