牛客網 倒置字串

2021-09-23 14:09:07 字數 698 閱讀 9971

題目描述:

將一句話的單詞進行倒置,標點不倒置。比如 i like beijing. 經過函式後變為:beijing. like i

這道題我想到兩種方法:

1、從後往前遍歷字串,以空格分割,找到每個單詞,然後再遍歷每個單詞,將單詞逐個鏈到新字串上,注意需要將第乙個單詞單獨處理,具體**如下:

#include #include using namespace std;

int main()

newstr += ' ';

} i--;

//遍歷到第乙個單詞

if (i == 0)

}} cout << newstr;

return 0

這種方法思路清楚,但是較為冗餘,容易漏掉一些情況,我第一次寫的時候,就漏掉了第乙個單詞只有乙個字元的情況,思路雖然簡單,但是需要邏輯非常縝密。

2、利用演算法中的逆置,先把整個字串逆置,再對以空格分隔的單個單詞進行逆置,具體**如下:

#include #include #include using namespace std;

int main()

else

start=end;

}cout

}

牛客網 倒置字串

將一句話的單詞進行倒置,標點不倒置。比如 i like beijing.經過函式後變為 beijing.like i 輸入描述 每個測試輸入包含1個測試用例 i like beijing.輸入用例長度不超過100 輸出描述 依次輸出倒置之後的字串,以空格分割 示例輸入 i like beijing....

牛客 倒置字串

經過函式後變為 beijing.like i 輸入描述 每個測試輸入包含1個測試用例 i like beijing.輸入用例長度不超過100 輸出描述 依次輸出倒置之後的字串,以空格分割 1.先把字串整體倒轉 反轉前 i like beijing.反轉後1 gnijied ekil i 2.把字元傳...

牛客網習題練習 倒置字串

題目表述 將一句話的單詞倒置,標點不倒置,例如 輸入 i like beijing.輸出 beijing.like i 實現思路 設定兩個棧,先將字串逐個壓入第乙個棧,如果遇到空格的話就說明乙個單詞結束,將第乙個棧的所有元素包括空格壓入第二個棧,迴圈執行,直到字串全部入棧。最後,依次pop第二個棧,...