• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
村雨sup
自己选的路,跪着也要走完 XD
博客园    首页    新随笔    联系   管理    订阅  订阅
华为机试 单词倒排
#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
posted on 2021-01-12 14:28  村雨sup  阅读(119)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3