1. 程式人生 > >小米-句子反轉

小米-句子反轉

https://www.nowcoder.com/practice/0ae4a12ab0a048ee900d1536a6e98315?tpId=85&tqId=29896&tPage=1&rp=1&ru=/ta/2017test&qru=/ta/2017test/question-ranking

題目描述

給定一個句子(只包含字母和空格), 將句子中的單詞位置反轉,單詞用空格分割, 單詞之間只有一個空格,前後沒有空格。 比如: (1) “hello xiao mi”-> “mi xiao hello”

輸入描述:

輸入資料有多組,每組佔一行,包含一個句子(句子長度小於1000個字元)

輸出描述:

對於每個測試示例,要求輸出句子中單詞反轉後形成的句子

示例1

輸入

複製

hello xiao mi

輸出

複製

mi xiao hello

題解:

#include <iostream>
#include <vector>
#include <cstring>
using namespace std;
int main(){
  string s;
  while(getline(cin, s)){
    vector<string> v;
    string idx = "";
    for (int i = 0; i < s.length(); i++){
      if (s[i] != ' '){
        idx += s[i];
      }
      else {
        v.push_back(idx);
        idx.clear();
      }
    }
    v.push_back(idx);
    for (int i = v.size() - 1; i > 0; i--){
      cout << v[i] << ' ';
    }
    cout << v[0] << endl;
  }
  return 0;
}