输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。
1 # -*- coding:utf-8 -*- 2 class Solution: 3 def backTrack(self,ss,k,result,temp,n): 4 if k >= n: 5 result.add(''.join(temp[:])) 6 return 7 for i in range(len(ss)): 8 temp.append(ss[i]) 9 self.backTrack(ss[:i]+ss[i+1:],k+1,result,temp,n) 10 temp.pop(-1) 11 12 def Permutation(self, ss): 13 n = len(ss) 14 if n == 0: 15 return [] 16 result = set() 17 temp = [] 18 self.backTrack(ss,0,result,temp,n) 19 return list(sorted(result)) 20 # write code here