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