生成全排列
【问题】给定一个包含不同字母的串,求它的所有可能的排列。
比如,给定"ABC",应该输出:
ABC
ACB
BAC
BCA
CAB
CBA
分析:
思路1—
将所有这些全排列分类,开始的字母是什么?只可能是串中的某一个字母。
从串中选取一个字母x,如果剩下的串的已经实现了全排列,则把x添在每一个排列前,就是结果的一部分。对其中所有的字母都这样处理…
def pai_lie(x):
if x=='':
return [""]
r = []
for i in range(len(x)):
y = pai_lie(x[:i] + x[i+1:])
r.extend([x[i