def list_all(string):
new_list_set = []
if len(string) == 1:
return string
for i in range(len(string)):
sub_string = string[:]
sub_string.pop(i)
result_list = list_all(sub_string)
for result in result_list:
if result+string[i] not in new_list_set:
new_list_set.append(result+string[i])
return new_list_set
string = list("asa")
for string_list in list_all(string):
print(string_list)
将数组的全排列看成是通过递归实现的,则只要将每次去除元素string[i]后的子串递归即可
剑指offer 字符串的排列 Python实现
最新推荐文章于 2021-05-15 22:26:44 发布

本文介绍了一个使用递归实现字符串全排列的Python算法。该算法通过不断移除并重新插入字符来生成所有可能的排列组合。
3708

被折叠的 条评论
为什么被折叠?



