题目描述
**输入一个字符串,打印出该字符串中字符的所有排列。
你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。**
思路
代码
class Solution:
def permutation(self,s:str)->List[str]:
c, res = list(s),[]
def dfs(x):
if x == len(c) - 1
res.append(''.join(c))
return
dic = set()
for i in range(x,len(c)):
if c[i] in dic:
continue
dic.add(c[i])
c[i], c[x] = c[x], c[i]
dfs(x+1)
c[i], c[x] = c[x], c[i]
dfs(0)
return res