1. 程式人生 > >小米 秋招 筆試 程式設計題 句子反轉

小米 秋招 筆試 程式設計題 句子反轉

  • 題目 句子反轉 時間限制: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;
}