编写带有下列声明的例程:
public void permute(String str);
private void permute(char[] str, int low, int high);
第一个例程是个驱动程序,它调用第二个例程并显示String str
中的字符的所有排列。例如,str
是"abc"
, 那么输出的串则是abc
,acb
,bac
,bca
,cab
,cba
,第二个例程使用递归。
本文主要参考了字符串全排列算法学习-低调小一
这题主要使用到递归,递归的四条基本法则(数据结构与算法分析-Java语言描述page7):
1、基准情形。必须总要有某些基准情形,无需递归就能解出。