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

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

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

    For C programmers: Try to solve it in-place in O(1) space.

    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.

    思路:in-place方法。

    先将字符串s反转,去除多余的空格,然后把每个单词再反转一次。 

     1 class Solution {
     2 public:
     3     void reverseWords(string &s) {
     4         int l = 0, r = s.size() - 1;
     5         while (l < r)
     6             swap(s[l++], s[r--]);
     7         for (int i = 0; i < s.size(); i++)
     8         {
     9             if (i == 0)
    10                 while (i < s.size() && s[i] == ' ')//eliminate spaces at the beginning
    11                     s.erase(s.begin());
    12             else if (s[i - 1] == ' ')
    13                 while (i < s.size() && s[i] == ' ')//eliminate duplicate spaces in the string
    14                     s.erase(s.begin() + i);
    15         }
    16         while (s.back() == ' ')//eliminate spaces at the end of the string
    17             s.erase(s.end() - 1);
    18         for (int i = 0, n = s.size(); i < n;)
    19         {
    20             for (r = i + 1; r < n && s[r] != ' '; r++);//find the last character of the current word
    21             l = i, r--;//reverse the current word
    22             i = r + 2;
    23             while (l < r)
    24                 swap(s[l++], s[r--]);
    25         }
    26     }
    27 };
  • 相关阅读:
    微服务简介
    Apache httpd.conf
    搭建PHP开发环境
    搭建Apache开发环境
    Swift 项目编译优化(一)
    用Flutter 写一个简单页面
    Sign In With Apple(一)(转)
    Xcode DeviceSupport
    MQTT初始篇笔记整理
    UITableView使用过程中可能遇到的问题
  • 原文地址:https://www.cnblogs.com/fenshen371/p/5160152.html
Copyright © 2011-2022 走看看