輸入乙個字串,按字典序列印出該字串中字元的所有排列。例如輸入字串abc,則列印出由字元a,b,c所能排列出來的所有字串abc,acb,bac,bca,cab和cba。
思路1:
遞迴思想,假如乙個函式返回乙個字串的全排列,那麼我們只用對字串迴圈取出乙個字元當做第一位再加上剩下字串的函式返回值即可。
class
solution:
defpermutation
(self, ss):
res = list()
defsort
(sub,join_us=''):
if sub:
for i,s in enumerate(sub):
sort(sub[:i]+sub[i+1:],join_us=join_us+s)
else:
if ss:
sort(ss,)
return res
print(solution().permutation('1234'))
第二種遞迴:
class
solution:
stack =
defpermutation
(self, ss):
stack =
# write code here
if len(ss) <= 1:
return [ss]
for i in range(len(ss)):
for j in self.permutation(ss[:i] + ss[i + 1:]):
return stack
字串排列
在網上看到了乙個操作字串的題目,該題為 字串排列。大概意思是列出字串中所有字元的所有組合並且輸出無重複。自己做了一下,這裡分享該題的思路,和做法。自我覺得實現的有些麻煩 歡迎指點。問題輸入乙個字串,列印出該字串中字元的所有排列。輸入 字串abc。輸出 列印出由字元a,b,c所能排列出來的所有字串ab...
字串排列
輸入乙個字串,按字典序列印出該字串中字元的所有排列。例如輸入字串abc,則列印出由字元a,b,c所能排列出來的所有字串abc,acb,bac,bca,cab和cba。第一種方法 字串拼接 function permutate str else return result console.log pe...
字串的排列
題目 輸入乙個字串,列印出該字串中字元的所有排列。例如輸入字串 abc,則輸出由字元a b c所能排列出來的所有字串 abc acb bac bca cab和 cba。分析 這是一道很好的考查對遞迴理解的程式設計題,因此在過去一年中頻繁出現在各大公司的面試 筆試題中。我們以三個字元 abc為例來分析...