题目链接:字符串的排列_牛客题霸_牛客网 (nowcoder.com)
参考牛客网中的题解
字符串的排列首先要考虑字符串的长度,如果是为0或1,则直接返回输入的列表
除此之外,对于长度大于1的将列表从头开始遍历,并以当前值划分,将当前值作为列表的头字母,并依次递归,等于将每个字母分开并以不同的顺序加入列表中
最后通过set更改列表形式,进行整理,其实sort与否无所谓感觉,但是为了更加没管就加上了
class Solution:
def Permutation(self, ss):
# write code here
a=len(ss)
if a==0 or a==1:
return ss
arr=[]
for i in range(a):
head=ss[i]
tem=ss[:i]+ss[i+1:]
for j in self.Permutation(tem):
arr.append(head+j)
return sorted(list(set(arr)))