今天看书,看到了一道题目,就是:
给定一系列数字,例如1,2,2,3,4,请列出这系列数字的所有排列。
这道题目实际上很有意思,因为如果给出这样的一系列的数字1,2,3,4,就是各个数字都不一样,这样的排列就很好列出了,我们可以逐个遍历,我们可以从简单的算起,首先我们列出具有不同的字符序列的所有排列:
1、开始的时候,是这样1234,先将1固定住,则后面的234在代入进去,称为一个新的字符串参加递归,则得到的就是以1开头的所有排列的字符串
2、同样的234,现将2固定住,则后面的34作为一个新的字符串参加递归,则得到以12开头的所有排列的字符串1234 1243
3、对于34,将3固定住,则只有34一种排列。
上面的以1 为前缀的知识排列的一种,接下来
4、如下面的程序我们可以看出 body = body.substring(1) + body