一个字符串的所有排列组合

利用递归的思想和python的deque,产生一个字符串的所有排列组合

from collections import deque
def generate_permutations(string):
    if len(string) == 1:
        return deque([string])
    permutations = generate_permutations(string[1:])
    for i in range(len(permutations)):
        permutation = permutations.pop()
        for j in range(len(permutation)):
            permutations.appendleft(permutation[:j] + string[0] + permutation[j:])
        permutations.appendleft(permutation + string[0])
    return permutations
    

猜你喜欢

转载自www.cnblogs.com/AcodingDg/p/9118763.html
今日推荐