小米 秋招 筆試 程式設計題 句子反轉
阿新 • • 發佈:2018-12-10
- 題目 句子反轉 時間限制:1秒 空間限制:32768K 熱度指數:55050 演算法知識視訊講解 校招時部分企業筆試將禁止程式設計題跳出頁面,為提前適應,練習時請使用線上自測,而非本地IDE。 題目描述 給定一個句子(只包含字母和空格), 將句子中的單詞位置反轉,單詞用空格分割, 單詞之間只有一個空格,前後沒有空格。 比如: (1) “hello xiao mi”-> “mi xiao hello” 輸入描述: 輸入資料有多組,每組佔一行,包含一個句子(句子長度小於1000個字元) 輸出描述: 對於每個測試示例,要求輸出句子中單詞反轉後形成的句子 示例1 輸入 複製 hello xiao mi 輸出 複製 mi xiao hello
- 解法 程式碼
#include<iostream> #include<string> #include<algorithm> using namespace std; int main() { string str, current, result; while (getline(cin,str)) { reverse(str.begin(), str.end()); for (int i = 0; i<str.size(); i++) { if (str[i] == ' ') { reverse(current.begin(), current.end()); result = result + current; result += ' '; current.clear(); } else current += str[i]; } reverse(current.begin(), current.end()); result += current; cout << result << endl; current.clear(); result.clear(); } return 0; }