劍指offer系列20 字串的排列

2022-04-03 02:22:22 字數 537 閱讀 4265

求乙個字串中所有出現的字元的排列組合。首先把這個問題分解成若干個小問題:分治法。將所有的字元的排列可以拆分為第乙個字元的選取和其餘所有字元。然後其餘的字元又可以拆分為第乙個字元的變化選取和其餘的字串。以此類推即可得到解答。這就是很明顯的遞迴了。注意遞迴的結束條件以及什麼時候把這個字串壓入vector中。

1 #include 2 #include 

3 #include 4 #include 5

using

namespace

std;67

class

solution

20void auxi(string st, int

begin)

213536}

37}3839}40

bool equal(string s, int a, int b)//

如果前面換過了就不用再換了

4147

};48

intmain()

4958

59return0;

60 }

劍指offer系列 38 字串的排列

nowcoder 輸入乙個字串,按字典序列印出該字串中字元的所有排列。例如輸入字串 abc,則列印出由字元 a,b,c 所能排列出來的所有字串 abc,acb,bac,bca,cab 和 cba。我們求整個字串的排列,可以看成兩步 首先求所有可能出現在第乙個位置的字元,即把第乙個字元和後面所有的字元...

劍指offer系列之26 字串的排列

題目描述 輸入乙個字串,按字典序列印出該字串中字元的所有排列。例如輸入字串abc,則列印出由字元a,b,c所能排列出來的所有字串abc,acb,bac,bca,cab和cba。結果請按字母順序輸出。輸入描述 輸入乙個字串,長度不超過9 可能有字元重複 字元只包括大小寫字母。思路 先不考慮是否出現重讀...

劍指offer 二 字串 cpp

1.替換空格void replacespace char str,int length originallen int newlen originallen numofblank 2 if newlen length return while originallen 0 originallen ne...