再帰的に文字列の配列を実現する方法
2884 ワード
タイトル記述文字列を入力し、辞書順にその文字列のすべての配列を印刷します.例えば文字列abcを入力すると、文字a,b,cで並べられるすべての文字列abc,acb,bac,bca,cab,cbaが印刷される.
説明の入力:9を超えない文字列を入力します(文字が重複する可能性があります)、文字には大文字と小文字のみが含まれます.
説明の入力:9を超えない文字列を入力します(文字が重複する可能性があります)、文字には大文字と小文字のみが含まれます.
# -*- coding:utf-8 -*-
class Solution:
def Permutation(self, ss):
if len(ss) <= 1:
return ss
res = set()
# , , a,b,c...,
for i in range(len(ss)):
for j in self.Permutation(ss[:i] + ss[i+1:]): # , ( )
res.add(ss[i] + j) # add(), ( , , baa,baa)
return sorted(res) # sorted() , list