算法面试 字符串全排列
def perm(s=''): if len(s) <= 1: return [s] sl = [] for i in range(len(s)): for j in perm(s[0:i] + s[i + 1:]): sl.append(s[i] + j) return sl def main(): # 可能包含重复的串 perm_nums = perm('abb') # 对结果去重 no_repeat_nums = list(set(perm_nums)) print('perm_nums', len(perm_nums), perm_nums) print('no_repeat_nums', len(no_repeat_nums), no_repeat_nums) pass if __name__ == '__main__': main()