题解 | #字符串的排列#
字符串的排列
http://www.nowcoder.com/practice/fe6b651b66ae47d7acce78ffdd9a96c7
# -*- coding:utf-8 -*-
class Solution:
def __init__(self):
self.a = []
self.ret = []
def permuRecur(self, chars, idx, n):
if idx == n:
self.ret.append(''.join(self.a))
# self.a = []
return
# print("idx:", idx)
for idxTmp, ch in enumerate(chars[::]):
self.a.append(ch)
# print(self.a)
chars.pop(idxTmp)
self.permuRecur(chars, idx+1, n)
chars.insert(idxTmp, ch)
self.a.pop()
def Permutation(self, ss):
# write code here
chars =[]
for item in ss:
chars.append(item)
# print("chars:", chars)
self.permuRecur(chars,0, len(chars))
return list(set(self.ret))
class Solution:
def __init__(self):
self.a = []
self.ret = []
def permuRecur(self, chars, idx, n):
if idx == n:
self.ret.append(''.join(self.a))
# self.a = []
return
# print("idx:", idx)
for idxTmp, ch in enumerate(chars[::]):
self.a.append(ch)
# print(self.a)
chars.pop(idxTmp)
self.permuRecur(chars, idx+1, n)
chars.insert(idxTmp, ch)
self.a.pop()
def Permutation(self, ss):
# write code here
chars =[]
for item in ss:
chars.append(item)
# print("chars:", chars)
self.permuRecur(chars,0, len(chars))
return list(set(self.ret))