题目标题

字符串的排列
输入一个字符串,打印出该字符串中字符的所有排列。
例如输入字符串abc,则输出由字符a、b、c所能排列出来的所有字符串
abc、acb、bac、bca、cab和cba

参考解析
  1. # -*- coding:utf-8 -*-
  2. class Solution:
  3. def Permutation(self, ss):
  4. # write code here
  5. list = []
  6. if len(sa) <= 1:
  7. return ss
  8. left = ss[0]
  9. right = self.Permutation(ss[1:])
  10. for word in right:
  11. for i in range(len(word)+1):
  12. if word[:i]+left+word[i:] not in list:# 去重
  13. list.append(word[:i]+left+word[i:])
  14. list.sort()# 按字典序输出
  15. return list