Algorithm

Java - 순열 ( Permutation )

ByteBridge 2017. 5. 28. 14:35
반응형
public static void main(String[] args) {
System.out.println(getPermutations("324"));
}

/**
*
* 순열 구하기
*/
public static List<String> getPermutations(String s){
if(s==null) return null;
//boolean 은 누구를 선택 했는지 판별 파라미터
return permuRec(s,new boolean[s.length()],"",new ArrayList<String>());
}
private static List<String> permuRec(String s, boolean[] pick,String perm,ArrayList<String> result){
//종료 조건
if(perm.length() == s.length()){
result.add(perm);
return result;
}
for(int i=0;i<s.length();i++){
if(pick[i]) continue;
pick[i] = true;
permuRec(s,pick,perm + s.charAt(i),result);
pick[i] = false;
}
return result;
}


반응형