可能重複:
Generating all permutations of a given string給定長度和字符集,如何得到所有可能的字符串組合
給定長度n=4,
和set of characters -> {'a', 'b'}
, 如何編寫一些java代碼來生成所有可能的字符串,其長度爲n,包含集合中的字符?
對於上面的例子中,結果應該有2^4 = 16串,那就是:
aaaa
aaab
aabb
abbb
baaa
baab
babb
bbbb
bbaa
bbab
bbba
abaa
abab
abba
baba
aaba
這裏是我的代碼片段:
public void process(String result, String string)
{
if(string.length() == 0)
{
System.out.println(result);
}else{
for(int i = 0; i < string.length(); i++)
{
String newResult = new String(result+string.charAt(i));
String newString = new String(string.substring(0,i) + string.substring(i+1, string.length()));
process(newResult, newString);
}
}
}
這似乎只是在做置換,而不是我想要什麼....... 預先感謝您:)
http:// stackoverflow。com/questions/4240080/generate-all-permutations-of-a-given-string –
@Matteo我試圖從字符串排列中使用類似的代碼,但是我沒有得到正確的結果... –
轉到理論第一:http://en.wikipedia.org/wiki/Permutations – davidmontoyago