zoukankan      html  css  js  c++  java
  • LeetCode: Reverse Words in a String

    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".

    题目地址:https://oj.leetcode.com/problems/reverse-words-in-a-string/

    算法:先把字符串分成一个一个word放在vector里面,然后在按逆序存入原来的字符串里。代码:

     1 class Solution {
     2 public:
     3     void reverseWords(string &s) {
     4         vector<string> words = split(s);
     5         s.clear();
     6         vector<string>::reverse_iterator iter = words.rbegin();
     7         if(iter != words.rend()){
     8             s += *iter;
     9             ++iter;
    10         }
    11         for(; iter != words.rend(); ++iter){
    12             s += " ";
    13             s += *iter;
    14         }
    15     }
    16     vector<string> split(const string &s){
    17         string t;
    18         vector<string> words;
    19         string::const_iterator p = s.begin();
    20         while(p != s.end()){
    21             while(p != s.end() && isspace(*p)){
    22                 ++p;
    23             }
    24             while(p != s.end() && !isspace(*p)){
    25                 t.push_back(*p);
    26                 ++p;
    27             }
    28             if(!t.empty()){
    29                 words.push_back(t);
    30                 t.clear();
    31             }
    32         }
    33         return words;
    34     }
    35 };
  • 相关阅读:
    iOS.CM5.CM4.CM2
    iOS.Library.Architecture
    iOS.Info.plist
    iOS.ARM-Assembly
    Tools.Png.Compression
    MacDev.GetArchOfLibrary
    iOS.C
    iOS.Notification.Bar.Color
    iOS.-.cxx_destruct
    iOS.UITableView.SectionIndex
  • 原文地址:https://www.cnblogs.com/boostable/p/leetcode_reverse_words_in_a_string.html
Copyright © 2011-2022 走看看