本文最后更新于 2022-11-11,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。
给定一个整数 nnn,将数字 1∼n1 \sim n1∼n 排成一排,将会有很多种排列方法。
现在,请你按照字典序将所有的排列方法输出。
按字典序输出所有排列方案,每个方案占一行。
1≤n≤71 \le n \le 71≤n≤7
找排列就相当于向长度为 nnn 的数组中放入 1∼n1 \sim n1∼n,所以递归地为数组中的 0∼n−10 \sim n-10∼n−1 位填充数字:
如果填到第 nnn 位就说明已经找出了一种排序方式,输出这种排序并退出递归。
否则从 1∼n1 \sim n1∼n 中找出当前排列中还没有的数字填进去进行下一次递归,并在递归执行完后回溯(还原 vis 与 path)。