题目
输入一个字符串,返回这个字符串的全排列组合,例如:
def permutation(origin):
pass
# 传入cat,返回[cat,cta,act,atc,tac,tca]
解法
不要求时间复杂度情况下…
思路:输入cat,获取第一个元素,可以是c,a,t,然后再从剩下的两个数进行再次以上步骤(递归),直到只剩一个元素位置,代码如下:
def permutation(origin):
"""
[cat, cta, atc, act, tac,tca]
:param origin:
:return:
"""
total = []
if len(origin) <= 1:
return [origin]
for i in range(len(origin)):
for j in permutation(origin[0:i] + origin[i + 1:]):
total.append(origin[i] + j)
return total
if __name__ == '__main__':
print(permutation("cat"))