题解 | 字符串的排列
字符串的排列
https://www.nowcoder.com/practice/fe6b651b66ae47d7acce78ffdd9a96c7
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param str string字符串
# @return string字符串一维数组
#
class Solution:
def Permutation(self , s: str) -> List[str]:
str_list = [c for i,c in enumerate(s)]
res_list = []
path = []
is_used = [False] * len(str_list)
def backtrack():
if len(path) == len(str_list):
res_list.append(path.copy())
return
for i in range(len(str_list)):
if is_used[i] == True:
continue
path.append(str_list[i])
is_used[i] = True
backtrack()
path.pop()
is_used[i] = False
backtrack()
unique_list = [list(t) for t in set(tuple(lst) for lst in res_list)]
result_list = [''.join(lst) for lst in unique_list]
return sorted(result_list)


