zoukankan      html  css  js  c++  java
  • 剑指offer-翻转单词序列

    描述

    牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“nowcoder. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a nowcoder.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?
     

    求解思路:

    1. 很简单,通过空格划分元素(字串),然后把字串倒过来就行。
    2. 但是看题要仔细,还以为字串内部也要翻转,浪费了我很多时间。
     1 class Solution {
     2 public:
     3     string ReverseSentence(string str) {
     4         // 首先得通过空格划分哪些字符属于一个整体(字串)
     5         // 然后翻转子串
     6         vector<string> strv;
     7         string::iterator ite=str.begin();
     8         string tmp="";
     9         // 完成子串的划分
    10         while(ite!=str.end()){
    11             if(*ite!=' '){  // 如果不是空格,就划分到字串中
    12                 tmp+=*ite;
    13             }else{
    14                 strv.push_back(tmp);
    15                 tmp="";
    16             }
    17             ++ite;
    18         }
    19         strv.push_back(tmp);
    20         // 翻转
    21         int rec=strv.size()-1;
    22         string res="";
    23         while(rec>=0){
    24             res+=strv[rec]+' ';
    25             --rec;
    26         }
    27         return res.substr(0, res.length() - 1);
    28     }
    29 };
    心之所愿,永不相忘
  • 相关阅读:
    Spring shiro学习(二)
    Spring shiro学习(一)
    Redis/zookeeper/ActiveMQ在Mac下的安装配置
    Mac下利用brew安装Intellij IDEA
    MySQL服务相关
    Ruby变量常量
    Web性能测试工具:Siege安装&使用简介
    无限级分类功能实践
    Ubuntu Bash and Dash
    安装好的虚拟机,外部通过ssh工具连接,报connection failed
  • 原文地址:https://www.cnblogs.com/zgll/p/15075701.html
Copyright © 2011-2022 走看看