輸入乙個字串,按字典序列印出該字串中字元的所有排列。例如輸入字串abc,則列印出由字元a,b,c所能排列出來的所有字串abc,acb,bac,bca,cab和cba。
輸入乙個字串,長度不超過9(可能有字元重複),字元只包括大小寫字母。
class
solution
:def
__init__
(self)
: self.array =
defpermutation
(self, ss)
:# write code here
iflen
(ss)
<=0:
return
self.dg(
list
(ss),0
)return
sorted
(list
(set
(self.array)))
defdg
(self,ss,index)
:if index >=
len(ss)
''.join(ss)
)for i in
range
(index,
len(ss)):
ss[i]
,ss[index]
= ss[index]
,ss[i]
self.dg(ss,index+1)
ss[i]
,ss[index]
= ss[index]
,ss[i]
# -*- coding:utf-8 -*-
class
solution
:def
permutation
(self, ss)
:# write code here
iflen
(ss)
<=0:
return
return
sorted
(list
(set
(self.dg(ss)))
)def
dg(self,ss):if
len(ss)==1
:return ss
res =
for index in
range
(len
(ss)):
strss = self.dg(ss[
:index]
+ss[index+1:
])+i)return res
劍指Offer 字串排列
題目描述 輸入乙個字串,列印出該字串中字元的所有排列。解析 step 1 求所有可能出現第乙個位置的字元。把第乙個字元與後面的每個字元交換。step 2 固定第乙個字元,將後面的字元利用遞迴進行全排列。include include using namespace std void stringpe...
劍指offer 字串的排列
題目描述 輸入乙個字串,按字典序列印出該字串中字元的所有排列。例如輸入字串abc,則列印出由字元a,b,c 所能排列出來的所有字串abc,acb,bac,bca,cab和cba。結果請按字母順序輸出。解題思路 深度搜尋,在每層搜尋裡設定乙個a陣列對映所有字元,每個字元在這層迴圈中只能使用一次,避免重...
劍指offer 字串的排列
輸入乙個字串,按字典序列印出該字串中字元的所有排列。例如輸入字串abc,則列印出由字元a,b,c所能排列出來的所有字串abc,acb,bac,bca,cab和cba。結果請按字母順序輸出。輸入描述 輸入乙個字串,長度不超過9 可能有字元重複 字元只包括大小寫字母。分析 經典問題。記住吧。class ...