String Permutation II
def DFS(s, result, current, isVisited):
if len(current) == len(s):
if current not in s:
result.append(list(current))
return
for i in range(len(s)):
if isVisited[i] == False:
isVisited[i] = True
current += s[i]
self.DFS(s, result, current, isVisited)
isVisited[i] = False
del current[-1]
def permutations(s):
result = []
isVisited = [False] * len(s)
self.DFS(s, result, '', isVisited)
return resultLast updated