抛出问题
求任意一个字符串的全排列组合,例如a=‘123’,输出 123,132,213,231,312,321。(暂时假定字符串没有重复)
解决方案
目前有两种解决的方法
方法一:
def str_sort(s=''):
if len(s) <= 1:
return [s]
str_list = []
for i in range(len(s)):
for j in str_sort(s[0:i] + s[i + 1:]):
str_list.append(s[i] + j)
return str_list
str_list = str_sort('abc')
print(len(str_list), str_list)
这种理解起来非常好理解,就是循环遍历每个字符,让每个字符打头,然后继续递归遍历后边的字符
方法二: