zoukankan      html  css  js  c++  java
  • 算法 句子逆序

    题目描述

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


    接口说明

    /**
     * 反转句子
     * 
     * @param sentence 原句子
     * @return 反转后的句子
     */
    public String reverse(String sentence);

    输入描述:

    将一个英文语句以单词为单位逆序排放。

    输出描述:

    得到逆序的句子

    示例1

    输入

    复制
    I am a boy
    

    输出

    复制
    boy a am I

    思路:rfind找到空格然后字符串截取
    注意读取使用getline,应该是跟cin直接读取的两个空格不一样,全角的问题

    #include <iostream>
    #include <string>
    using namespace std;

    int main()
    {

      string str;
      string index;
      int pos = 0;
      getline(cin, str);

      pos = str.rfind(" ");
      while (pos >= 0) {
        index += str.substr(pos + 1);
        index += " ";
        str = str.substr(0, pos);
        pos = str.rfind(" ");
        if (pos == -1) {
          index += str;
        }
      }

      cout << index << endl;


      system("pause");
      return 0;
    }

  • 相关阅读:
    数据仓库010
    R语言- 实验报告
    数据仓库006
    数据仓库009
    多台Linux 7.x服务器具有相同的UUID网络链接参数,肿么办?
    数据仓库005
    数据仓库004
    我的编程竞赛生涯
    我的建模竞赛生涯
    再见了,亲爱的博客园
  • 原文地址:https://www.cnblogs.com/liuruoqian/p/11644910.html
Copyright © 2011-2022 走看看