题目标题
字符串的排列
输入一个字符串,打印出该字符串中字符的所有排列。
例如输入字符串abc,则输出由字符a、b、c所能排列出来的所有字符串
abc、acb、bac、bca、cab和cba
参考解析
# -*- coding:utf-8 -*-
class Solution:
def Permutation(self, ss):
# write code here
list = []
if len(sa) <= 1:
return ss
left = ss[0]
right = self.Permutation(ss[1:])
for word in right:
for i in range(len(word)+1):
if word[:i]+left+word[i:] not in list:# 去重
list.append(word[:i]+left+word[i:])
list.sort()# 按字典序输出
return list