將一句話的單詞進行倒置,標點不倒置。
比如 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第二個棧,...