牛客網 倒置字串

2021-09-23 14:34:00 字數 1426 閱讀 6310

將一句話的單詞進行倒置,標點不倒置。

比如 i like beijing. 經過函式後變為:beijing. like i

輸入描述: 每個測試輸入包含1個測試用例: i like beijing. 輸入用例長度不超過100 輸出描述: 依次輸出倒置之後的字串,以空格分割

示例

輸入: i like beijing.

輸出: beijing. like i

解題思路及完整**

思路一:先整體再區域性

先將整個字串逆置過來,再遍歷字串,找出每個單詞,對單詞逆置。這裡我們使用了stl演算法中的 reverse,所以這裡使用迭代器遍歷string

完整**:

#define _crt_secure_no_warnings 1

#include #include #include #include using namespace std;

int main()

cout << s << endl;

system("pause");

return 0;

}

思路二::通過cin 將單詞逆向連線

第二思路是乙個比較討巧的思路,直接利用cin>>s接收輸入,遇到空格就結束了,自然就分割開了每個單 詞,其次將每次接收到的單詞拼接到之前串的前面就逆置過來了

完整**:

#define _crt_secure_no_warnings 1

#include #include #include using namespace std;

int main()

思路三:改變單詞連線順序

將字串分割成單詞存在vector中,重新改變輸出順序。

完整**:

#define _crt_secure_no_warnings 1

#include #include #include using namespace std;

#include int main()

while (pos < s.size());

for (int i = v.size() - 1; i >= 0; --i)

cout << v[i]<<" ";

//vector::reverse_iterator it = v.rbegin();

//while (it != v.rend())

// //cout << endl;

system("pause");

return 0;

}

牛客網 倒置字串

題目描述 將一句話的單詞進行倒置,標點不倒置。比如 i like beijing.經過函式後變為 beijing.like i 這道題我想到兩種方法 1 從後往前遍歷字串,以空格分割,找到每個單詞,然後再遍歷每個單詞,將單詞逐個鏈到新字串上,注意需要將第乙個單詞單獨處理,具體 如下 include ...

牛客 倒置字串

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

牛客網習題練習 倒置字串

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