题目描述: 给你一个仅有小写字母组成的字符串s(len(s) < 10),请你输出s内的所有字母的全排列,每行输出一个, 按照字典序升序输出。 如:s=”bbjd”,则输出: bbdj bbjd bdbj bdjb bjbd bjdb dbbj dbjb djbb jbbd jbdb jdbb
示例: 输入: s = “bbjd” 输出: bbdj bbjd bdbj bdjb bjbd bjdb dbbj dbjb djbb jbbd jbdb jdbb
分析:
python 里面有一个内置的求全排列的函数。
from itertools import permutations
所以我的思路就是得到全排列,然后排序再输出。
代码:
1
2
3
4
5
6
7
8
9
from itertools import permutations
ans = set()
for item in permutations(s):
ans.add("".join(item))
ans = list(ans)
ans.sort()
for i in ans:
print(i)