//输入一个字符串,打印出该字符串的所有排列;例如输入abc的输出abc;acb;bac;bca;cab;cba
public class StrFullCombine {
public static void main(String[] args) {
String str = "abc";
char[] charArray = str.toCharArray();
getFullCombine(charArray, 0);
}
public static void getFullCombine(char[] charArray, int begin) {
if (begin == charArray.length - 1) System.out.println(String.valueOf(charArray));
for (int i = begin ; i < charArray.length; i++) {//begin分别与后面的字符交换,然后全排列begin之后的字符
swep(charArray, begin, i);
getFullCombine(charArray, begin + 1);
swep(charArray, begin, i);
}
}
private static void swep(char[] arr, int i, int j) {
char stem = arr[i];
arr[i] = arr[j];
arr[j] = stem;
}
}
输入一个字符串,打印出该字符串的所有排列
最新推荐文章于 2023-05-17 19:21:07 发布