如何解决全排列问题

什么是全排列

全排列,一般地,从n个不同元素中取出m(m≤n)个元素,按照一定的顺序排成一列,叫做从n个元素中取出m个元素的一个排列。特别地,当m=n时,这个排列被称作全排列。

那么123的全排列为:
123
132
213
231
312
321



全排列手动模拟

我们可用树的方式列出全排列的所有可能。

可使用dfs思想

通过数组模拟
现将字符串转换为列表
a  =  “a,b,c”  —>  [a,b,c]
根据a列表长度  初始化visit值为False
根据a列表长度  初始化temp值为” ”

每次递归将visit中被使用过的位置为True
再次调用dfs函数
最后将visit中被使用过的位置为False,进行回溯操作
当temp长度为a列表长度时输出


以上为Python代码


以上为Java代码