字符串全排列—substring递归

阅读量: 515 编辑

字符串全排列—substring递归

设计思路是,

  • 用for循环把对应的字符拎出来,然后和perm进行拼接

  • 其他的拼接在一起,直到word没有可以拎出来的字符位置(也就是空)

  • 打印出最终的perm

  • 继续下一次substring递归

public class StringPermutations {

    public static void main(String args[]) {
        permutation("abc");
    }

    public static void permutation(String input) {
        permutation("", input);
    }

    private static void permutation(String perm, String word) {
        if (word.isEmpty()) {
            System.err.println(perm + word);
        } else {
            for (int i = 0; i < word.length(); i++){
                permutation(perm + word.charAt(i), word.substring(0, i) + word.substring(i + 1, word.length()));
            }
        }
    }

}

苏ICP备13052010号-3
©2022 南京匠成信息科技有限公司