华为机试HJ13:句子逆序

简介: 华为机试HJ13:句子逆序

题目描述:

将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I”

所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符

输入描述:

输入一个英文语句,每个单词用空格隔开。保证输入只包含空格和字母。

输出描述:

得到逆序的句子

示例:

输入:I am a boy

输出:boy a am I

解题思路:

输入字符串后,每有一个空格,就将空格前的字符串扔到vector里,最后的单词因为后面没有空格,所以循环结束后还要再扔一次临时字符串。

测试代码:

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


相关文章
|
算法
华为机试HJ14:字符串排序
华为机试HJ14:字符串排序
|
人工智能
华为机试HJ26:字符串排序
华为机试HJ26:字符串排序
华为机试HJ106:字符逆序
华为机试HJ106:字符逆序
128 1
|
容器
华为机试HJ102:字符统计
华为机试HJ102:字符统计
171 1
|
存储 容器
华为机试HJ31:单词倒排
华为机试HJ31:单词倒排
华为机试HJ65:查找两个字符串a,b中的最长公共子串
华为机试HJ65:查找两个字符串a,b中的最长公共子串
|
测试技术
华为机试HJ85:最长回文子串
华为机试HJ85:最长回文子串
华为机试HJ1:字符串最后一个单词的长度
华为机试HJ1:字符串最后一个单词的长度
华为机试HJ63:DNA序列
华为机试HJ63:DNA序列