-7

我必须使用 java 进行所有可能的字谜字符串组合。检查两个字符串是否是字谜不是我的问题。但是在生成整套可能的字谜字符串组合时,我无法找到方法。

例如: 输入:“Wolf” 输出:1. wolf 2. wofl 3. wlof 4. wflo 5. wlfo 6. wfol 5. owlf 6. olfw。. . 等等。

4

1 回答 1

4

检查这个:

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
于 2013-05-23T08:08:33.480 回答