• leetcode Reverse Words in a String


    Given an input string, reverse the string word by word.

    For example,
    Given s = "the sky is blue",
    return "blue is sky the".

    click to show clarification.

    Clarification:

     

      • What constitutes a word?
        A sequence of non-space characters constitutes a word.
      • Could the input string contain leading or trailing spaces?
        Yes. However, your reversed string should not contain leading or trailing spaces.
      • How about multiple spaces between two words?
        Reduce them to a single space in the reversed string
    #include <iostream>
    #include <string>
    #include <algorithm>
    #include <sstream>
    #include <vector>
    
    using namespace std;
    
    void reverseWords(string &s){
        string buf;
        stringstream ss(s);
        vector<string> tokens;
        while (ss >> buf) tokens.push_back(buf);
        if (tokens.size() == 0)  s="";
        else{
            int n = tokens.size()-1;
            s = tokens[n];
            for (int i = n-1; i >=0; -- i) s+=" "+tokens[i];
        }
    }
    
    int main(){
        string s = "the sky is blue";
        reverseWords(s);
        cout<<s<<endl;
    }
  • 相关阅读:
    UML类图基础说明
    grep: /usr/include/php/main/php.h: No such file or directory
    活在幻梦中的你我
    Markdown语法笔记
    眼见为实
    潜意识与暗示
    蝌蚪与青蛙是同一个物种么?
    PHP 数组函数整理
    git 笔记
    vue2.0-组件传值
  • 原文地址:https://www.cnblogs.com/xiongqiangcs/p/3620749.html
Copyright © 2020-2023  润新知