zoukankan      html  css  js  c++  java
  • LeetCode 题解之Reverse Words in a String

    1、题目描述

    2、问题分析

    使用一个vector存储每个单词。

    3、代码

     1 void reverseWords(string &s) {
     2         vector<string> v;
     3         for (string::iterator it = s.begin(); it != s.end(); ) {
     4             if (*it == ' ') {
     5                 it++;
     6             }
     7             else {
     8                 auto itr = it + 1;
     9                 
    10                 while (*itr != ' ' && itr != s.end()) {
    11                     itr++;
    12                 }
    13                     
    14                 string sub = s.substr(it - s.begin(), itr - it);
    15                 v.push_back(sub);
    16                 if (itr == s.end())
    17                     break;
    18                 it = itr + 1;
    19             }
    20         }
    21 
    22         s.clear();
    23         for (vector<string>::reverse_iterator rv = v.rbegin(); rv != v.rend(); rv++) {
    24             if (rv + 1 != v.rend()) {
    25                 s += *rv;
    26                 s += ' ';
    27             } else {
    28                 s += *rv;
    29             }
    30         }
    31 
    32         }
  • 相关阅读:
    二维数组111
    基础笔记
    排序
    折半查找法2
    数组 最小值
    数组 求偶数
    数组 找下标
    数组
    阶乘与9 99 999 9999 99999...
    打印三角形
  • 原文地址:https://www.cnblogs.com/wangxiaoyong/p/10417629.html
Copyright © 2011-2022 走看看