1. 程式人生 > 實用技巧 >華為機試 單詞倒排

華為機試 單詞倒排

#include<iostream>
#include <vector>
#include "bits/stdc++.h"
using namespace std;


int main()
{
    string s;
    getline(cin,s);
    vector<string> vecstr;
    string res = "";
    for(int i=0;i < s.size();i++){
        if(s[i] == ' '|| !((s[i] >= 'a'&&s[i] <= 'z'
)||(s[i] >= 'A'&&s[i] <= 'Z'))){ if(res != ""){ vecstr.push_back(res); res = ""; } else{ continue; } } else{ res += s[i]; } } if(res != "") vecstr.push_back(res);
for(int i=vecstr.size()-1;i >= 0;i--){ cout << vecstr[i]; if(i!=0) cout << " "; } return 0; }

題目描述

對字串中的所有單詞進行倒排。

說明:

1、構成單詞的字元只有26個大寫或小寫英文字母;

2、非構成單詞的字元均視為單詞間隔符;

3、要求倒排後的單詞間隔符以一個空格表示;如果原字串中相鄰單詞間有多個間隔符時,倒排轉換後也只允許出現一個空格間隔符;

4、每個單詞最長20個字母;

輸入描述:

輸入一行以空格來分隔的句子

輸出描述:

輸出句子的逆序

示例1

輸入

複製
I am a student

輸出

複製
student a am I