输入一个字符串,打印出该字符串中字符的所有排列
方法一:递归实现
递归的实现思想是固定一位,对剩下的字符串实现全排列,这里不考虑重复的字母
方法二:字典序排列
每一个字符串都可以按照字典序排列得到下一个序列,使用这种方法从一开始最小的升序一次输出,到最后的降序。
字典序算法的步骤:
- 找到排列中最后一个升序的首位字符A
- 找到排列中A后面最后一个比A大的字母B
- 交换A和B
- 翻转B后的字符
这里假设输入的字符串是一个升序的排列
输入一个字符串,打印出该字符串中字符的所有排列
方法一:递归实现
递归的实现思想是固定一位,对剩下的字符串实现全排列,这里不考虑重复的字母
方法二:字典序排列
每一个字符串都可以按照字典序排列得到下一个序列,使用这种方法从一开始最小的升序一次输出,到最后的降序。
字典序算法的步骤:
- 找到排列中最后一个升序的首位字符A
- 找到排列中A后面最后一个比A大的字母B
- 交换A和B
- 翻转B后的字符
这里假设输入的字符串是一个升序的排列