生成给定字符串的所有置换

找到字符串的所有排列的优雅方法是什么。例如,ba的排列将是baab,但对于较长的字符串,如abcdefgh,又如何呢?是否有任何Java实现示例

公共静态无效置换(字符串str){
排列(“,str);
}
私有静态无效置换(字符串前缀、字符串str){
int n=str.length();
如果(n==0)System.out.println(前缀);
否则{
对于(int i=0;i<n;i++)
置换(前缀+str.charAt(i),str.substring(0,i)+str.substring(i+1,n));
}
}

(通过Java编程简介

发表评论