字符串的全排列

输入一个字符串,打印出该字符串中字符的所有排列

方法一:递归实现

递归的实现思想是固定一位,对剩下的字符串实现全排列,这里不考虑重复的字母

字符串的全排列_第1张图片

方法二:字典序排列

每一个字符串都可以按照字典序排列得到下一个序列,使用这种方法从一开始最小的升序一次输出,到最后的降序。

字符串的全排列_第2张图片

字典序算法的步骤:

- 找到排列中最后一个升序的首位字符A

- 找到排列中A后面最后一个比A大的字母B

- 交换A和B

- 翻转B后的字符

字符串的全排列_第3张图片

这里假设输入的字符串是一个升序的排列

你可能感兴趣的:(字符串的全排列)