我最近试图编写一个脚本来打印出Java中所有单词的排列组合。出于某种原因,它只打印出一个。我只是无法弄清楚!字符串排列
import java.util.*;
public class AllPermutations {
ArrayList<String> letters = new ArrayList<String>();
public void main(){
letters.add("H");
letters.add("a");
letters.add("s");
permutate("",letters);
}
public void permutate(String word, ArrayList<String> lettersLeft){
if(lettersLeft.size()==0){
System.out.println(word);
}else{
for(int i=0;i<lettersLeft.size();i++){
String newWord = new String();
newWord = word+lettersLeft.get(i);
lettersLeft.remove(i);
permutate(newWord, lettersLeft);
}
}
}
}
你需要复制'lettersLeft'列表而不是直接修改它? –
你能举一个你期待什么的例子,以及实际的结果。 – Siddharth
难道你不应该有一个for循环运行permutate nPm次? – Siddharth