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 };
    心之所愿,永不相忘
  • 相关阅读:
    Jenkins安装2
    11月14 vagrant 虚拟机连接
    11月13 ssh 和 netstat
    Jenkins安装
    11月12号 springboot1.5 引入redis
    11月12号 用户登录输入密码错误达到指定次数后,锁定账户 004
    js模式-观察者模式
    立即执行函数
    vue 获取数据
    在登陆退出时候使用Vuex
  • 原文地址:https://www.cnblogs.com/zgll/p/15075701.html
Copyright © 2011-2022 走看看