字符串置换问题集

时间:2011-01-11 00:34:15

标签: java algorithm permutation

我得到了这组字符串,例如“12 13 2 1 444”

我想生成这组整数的所有不同排列。

我的意思是

"12 13 2 1 444"
"13 12 2 1 444"
"12 13 1 2 444"
"1 12 13 2 444"
.....

任何人都可以帮助我使用Java吗?

2 个答案:

答案 0 :(得分:2)

有很多方法可以做到这一点。我认为最好的方法是将其分解为两个步骤:

  1. 将字符串分解为其组成部分。
  2. 生成这些部分的所有排列。
  3. 您可以使用String.split方法将字符串拆分为单个值:

    String[] allParts = inputString.split(' ');
    

    完成此操作后,您可以使用许多排列生成函数之一生成所有排列。 Leon的链接可能会有帮助。

答案 1 :(得分:1)

你需要递归地做。查看http://programminggeeks.com/recursive-permutation-in-java/作为指南