如何解决全排列问题
什么是全排列
全排列,一般地,从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代码