page contents

如何求一个字符串的所有排列?

轩辕小不懂 发布于 2022-03-28 11:49
阅读 606
收藏 0
分类:人工智能

设计一个程序,当输入一个字符串时,要求输出这个字符串的所有排列。例如,输入字符串abc,要求输出由字符a、b、c所能排列出来的所有字符串:abc、acb、bac、bca、cba、cab。

3377
Nen
Nen
- 程序员

递归法下面以字符串abc为例介绍对字符串进行全排列的方法。具体步骤如下。

1)首先固定第一个字符a,然后对后面的两个字符b与c进行全排列。

2)交换第一个字符与其后面的字符,即交换a与b,然后固定第一个字符b,接着对后面的两个字符a与c进行全排列。

3)由于第2)步交换了a和b破坏了字符串原来的顺序,因此,需要再次交换a和b使其恢复到原来的顺序,然后交换第一个字符与第三个字符(交换a和c),接着固定第一个字符c,对后面的两个字符a与b求全排列。在对字符串求全排列的时候就可以采用递归的方式来求解。

请先 登录 后评论
3387
查雄伟
查雄伟

1,把目标字符串内容提取出来赋予给一个列表。

2,从列表0位置元素开始循环与非0位置元素组合。

3,依次类推循环每个位置元素进行组合。

4,把组合出来的字符打印出来。

请先 登录 后评论