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