可能重复:
生成给定字符串的所有排列
给定一个长度n=4,
和 a 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);
}
}
}
这似乎只是做排列,而不是我想要的......提前谢谢你:)