对于n个数全排列,首先第1个数有n种选择,然后第2个数有n-1种选择,直到第n个数只有一种选择,我们通过在一开始的序列中将第1个数跟1-n所有数字交换一遍即可实现第一个数的n种选取,第1个数选完后,第2个数同样,可以将第2个数跟2-n之间的所有数进行交换,每次交换后,当回溯回到第k层时,之前的交换要复原,目的是为了保证K之后的数据保持最初始的顺序,这样才能保证第k取k-n之间的所有数字而不重复