编写代码来生成字符串的排列

时间:2017-06-30 03:22:29

标签: hashset

我希望生成排列,并且作为过程的一部分,我使用HashSet编写了以下代码。

public static HashSet<String> getAllPermutations(String str) 
{
   // Create a hash set to prevent any duplicate entries
   HashSet<String> permutations = new HashSet<String>();

   if(str == null || str.length() == 0) 
    {
      permutations.add("");
      return permutations;
    }

      char first = str.charAt(0);

      String remainingString = str.substring(1);

      HashSet<String> words = getAllPermutations(remainingString);
      System.out.println("here: "+ words.toString());
}

我的问题是,当我尝试使用main方法中的字符串abc打印出来的代码heree hashset“words”时,我得到了这个输出:

here: [] 
here: [c]
here: [bc, cb]

为什么我在HashSet中获得bccb?我在这里找不到关于Hashsets的东西吗?

0 个答案:

没有答案