生成一定长度的所有排列-不重复字符

时间:2019-12-12 18:05:31

标签: java recursion permutation

我正在尝试使用递归来查找6个字母的字符串的所有n个长度排列。

给出字符串“ abcd”,n = 3,它将生成abc,abd,acd,acb,adb,adc,bcd,bca,bac,bad,bda,bdc等。

我的代码当前仅生成所有字符串长度排列

  static void printPermutn(String str, String ans) 
  { 

        if (str.length() == 0)
        { 
            System.out.println(ans); 
            return; 
        } 

        for (int i = 0; i < str.length(); i++) 
        { 
            char ch = str.charAt(i); 
            String ros = str.substring(0, i) +  
                         str.substring(i + 1); 
            printPermutn(ros, ans + ch); 
        } 
    } 

0 个答案:

没有答案
相关问题