字串的排列

2021-10-07 02:16:59 字數 978 閱讀 4408

輸入乙個字串,按字典序列印出該字串中字元的所有排列。例如輸入字串abc,則列印出由字元a,b,c所能排列出來的所有字串abc,acb,bac,bca,cab和cba。

思路:固定一端,後面的交換位置,遍歷到尾部時,插入

class

solution;}

set s;

perm(0

, str, s)

;return vector

(s.begin()

, s.

end())

;}void

perm

(int pos, string str, set

&s)for

(int i = pos; i < str.

length()

; i++)}

};

# -*- coding:utf-8 -*-

class

solution

:def

permutation

(self, ss)

:# write code here

length =

len(ss)

if length <=1:

return ss

lists =

for i in

range

(length)

: first_str = ss[i]

# 這裡的ss[:i]+ss[i+1:] 剛好把ss[i]扣出來

for temp_sub_list in self.permutation(ss[

:i]+ss[i+1:

]): temp = first_str + temp_sub_list

if temp not

in lists:

return lists

字串排列

在網上看到了乙個操作字串的題目,該題為 字串排列。大概意思是列出字串中所有字元的所有組合並且輸出無重複。自己做了一下,這裡分享該題的思路,和做法。自我覺得實現的有些麻煩 歡迎指點。問題輸入乙個字串,列印出該字串中字元的所有排列。輸入 字串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為例來分析...