利用递归的思想和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