我必须使用 java 进行所有可能的字谜字符串组合。检查两个字符串是否是字谜不是我的问题。但是在生成整套可能的字谜字符串组合时,我无法找到方法。
例如: 输入:“Wolf” 输出:1. wolf 2. wofl 3. wlof 4. wflo 5. wlfo 6. wfol 5. owlf 6. olfw。. . 等等。
检查这个:
public class Test {
public static void main(String[] args) {
String input = "Wolf";
permutation(input, "");
}
private static void permutation(String input, String sofar) {
if (input.equals("")) {
System.out.printf("%s,", sofar);
}
for (int i = 0; i<input.length(); i++) {
char c = input.charAt(i);
if (input.indexOf(c, i + 1) != -1)
continue;
permutation(input.substring(0, i) + input.substring(i + 1), sofar+c);
}
}
}
输出:
Wolf,Wofl,Wlof,Wlfo,Wfol,Wflo,oWlf,oWfl,olWf,olfW,ofWl,oflW,lWof,lWfo,loWf,lofW,lfWo,lfoW,fWol,fWlo,foWl,folW,flWo,floW