華為機試 單詞倒排
阿新 • • 發佈:2021-01-12
#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