前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >华为oj之句子逆序

华为oj之句子逆序

作者头像
Enjoy233
发布2019-03-05 14:50:53
5750
发布2019-03-05 14:50:53
举报
文章被收录于专栏:大白技术控的技术自留地

题目: 句子逆序

  • 热度指数:4483 时间限制:1秒 空间限制:32768K
  • 本题知识点: 数组

将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后“boy a am I” 所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符

接口说明

代码语言:javascript
复制
/**

* 反转句子
  * @param sentence 原句子

  * @return 反转后的句子
    */
    public String reverse(String sentence);
输入描述:
代码语言:javascript
复制
将一个英文语句以单词为单位逆序排放。
输出描述:
代码语言:javascript
复制
得到逆序的句子
输入例子:
代码语言:javascript
复制
I am a boy
输出例子:
代码语言:javascript
复制
boy a am I

在线提交网址: http://www.nowcoder.com/practice/48b3cb4e3c694d9da5526e6255bb73c3?tpId=37&tqId=21236&rp=&ru=/ta/huawei&qru=/ta/huawei/question-ranking

分析:

有一种比较易实现的思路, 将每次cin的部分放进一个vector中, 然后反向遍历(迭代器auto it = vect.rbegin()), 最后一个元素单独处理, 否则会输出多余的空格.

已AC代码:

代码语言:javascript
复制
#include<cstdio>
#include<iostream>
#include<vector>
using namespace std;

int main()
{
    string str;
    vector<string> vect;

    while(cin>>str)
    {
        vect.push_back(str);
    }
//    vector<string>::iterator it = vect.rbegin();             // 反向循环
    for( auto it = vect.rbegin(); it != vect.rend()-1;  ++it)
    {
        cout<<*it<<" ";
    }
    cout<<vect[0]<<endl;
    return 0;
}

相关链接:

http://stackoverflow.com/questions/3610933/iterating-c-vector-from-the-end-to-the-begin

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016年09月28日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 题目: 句子逆序
    • 输入描述:
      • 输出描述:
        • 输入例子:
          • 输出例子:
          • 分析:
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档