有重复字符串的排列组合。编写一种方法,计算某字符串的所有排列组合。
示例:
输入:S = "qqe"
输出:["eqq","qeq","qqe"]
class Solution:
def permutation(self, S):
n = len(S)
total = []
mark = [0]*n
def back_track(s):
print(s)
if len(s) == n:
total.append(s)
for j in range(n):
print('>>>>>>>>>>>',s)
print(j,mark[j],mark)
if mark[j] == 0:
mark[j] = 1
print(mark)
back_track(s+S[j])
mark[j] =0
print(mark)
back_track("")
# print(total)
return list(set(total))