使用Java实现对任意字母的全排列,例如:
在字母ABC中排列出全部答案。使用一般的for循环方法也可以解出题目,这里面就ABC三个字母,使用for循环的话也只不过三个循环嵌套罢了,如果是ABCDEFGHI呢?用9个for循环算出结果么,甚至更多,这样字母一多下来使用for循环就会让程序很运行起来笨重,时间复杂度和空间复杂度都会很大,写起来也不方便,所以下面我将采用深度优先算法(dfs)在解决此问题,那就方便多了,而且不管有多少字母都会很快。
(博客专栏或者主页中有对深度优先算法的详细介绍和理解以及其他很多深度优先算法的体型)
核心代码如下:
public class Main {
//n表示的是定义全排列的位数,可以根据题目意思和实际情况自行输入自行定义
public static int n=3;
public static char a[]=new