小小c 演算法題 3 字串語句反轉

2022-03-22 07:10:21 字數 899 閱讀 4672

題目:反轉語句。

如i love    beijing! 反轉後輸出 !beijing    love i

特點是指反轉單詞的順序,其他字元(這個可以自己指定)不反轉。且不能用內建函式,如split和substring。

分析:我們需要保證乙個單詞的字母組成順序不變,其他的字元(這個自己指定)直接反轉即可。基本思想是整個語句在入棧的時候對每個字元做具體分析處理即可,然後出棧輸出。

由於這道題的結構很簡單,就省去使用棧的過程,我們直接從句末開始分析每個字元並處理輸出。我用了乙個list來儲存特殊字元,這些字元直接反轉即可,其他的字元要做單詞的組成部分處理。如,可直接輸出,b則作為beijing的組成部分,要特殊處理。

**(c#):

view code

1static

void main(string args)

2         

1112

private

static

string reverse(string str, list chars)

13         

2425

if (chars.contains(strarray[i]))

26                 

3233                     result += strarray[i];                    

34                 }

35else

36                 

39             }

4041

return result;

42         }

輸出:!beijing love i and ,shanghai    love i

01 字串反轉

result s 1 li b c f 4,5,6 a list reversed li print a 輸出 6,5,4,f c b result reduce lambda x,y y x,s 不認識,先記著 def func s 此處使用遞迴,不斷把第乙個字元,通過拼接的方式加到分片字串後面,...

C語言 3 字串

字元陣列 char 看做乙個特殊的字元陣列,在字串結束為止新增 0 結束符 ascii碼0 沒有 0結尾的是普通的字元陣列。使用雙引號定義的字串自動在尾部加上 0 puts s 函式 輸出記憶體直至遇到 0 陣列變數名代表了陣列位址,例如char s 20 s就是陣列位址,不用 s gets s 函...

演算法題(一) 字串

public static string submax string strarr else if max k system.out.println max return arrays.copyofrange strarr,start,end 1 給定兩個字串str1,str2。如果兩者字元種類和相...