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


复制代码
 1 class Solution {
 2 public:
 3     void reverseWords(string &s) 
 4     {
 5         //从前往后扫描 
 6         string res, word;
 7         for(int i = s.size()-1; i >= 0;)
 8         {
 9             while(i >= 0 && s[i] == ' ')--i;//去掉空格
10             if(i < 0)break;
11             if(res.size() != 0)res.push_back(' ');
12             word.clear();
13             while(i >= 0 && s[i] != ' ')word.push_back(s[i--]);//word为找到的一个单词
14             for(int j = word.size()-1; j >= 0; --j)
15                 res.push_back(word[j]);
16         }
17         s = res;
18     }
19 };
复制代码





本文转自tenos博客园博客,原文链接:http://www.cnblogs.com/TenosDoIt/p/3986615.html,如需转载请自行联系原作者

目录
相关文章
|
5月前
|
算法 C++
【LeetCode】【C++】string OJ必刷题
【LeetCode】【C++】string OJ必刷题
32 0
|
8月前
CF1553B Reverse String(数学思维)
CF1553B Reverse String(数学思维)
24 0
|
存储 编译器 Linux
标准库中的string类(中)+仅仅反转字母+字符串中的第一个唯一字符+字符串相加——“C++”“Leetcode每日一题”
标准库中的string类(中)+仅仅反转字母+字符串中的第一个唯一字符+字符串相加——“C++”“Leetcode每日一题”
|
4月前
|
Go 机器学习/深度学习 Rust
Golang每日一练(leetDay0119) 反转字符串I\II Reverse String
Golang每日一练(leetDay0119) 反转字符串I\II Reverse String
38 0
Golang每日一练(leetDay0119) 反转字符串I\II Reverse String
|
6月前
|
Java
Leetcode 467. Unique Substrings in Wraparound String
大概翻译下题意,有个无限长的字符串s,是由无数个「abcdefghijklmnopqrstuvwxy」组成的。现在给你一个字符串p,求多少个p的非重复子串在s中出现了?
22 0
|
8月前
|
机器学习/深度学习
CF71A Way Too Long Words(string简单模拟)
CF71A Way Too Long Words(string简单模拟)
38 0
|
存储 canal 算法
leetcode:43. 字符串相乘(附加一些C++string其他小练习)
leetcode:43. 字符串相乘(附加一些C++string其他小练习)
|
算法 索引
【LeetCode】string 类的几道简单题
【LeetCode】string 类的几道简单题
【LeetCode】string 类的几道简单题
|
机器学习/深度学习 NoSQL 算法
LeetCode 344. 反转字符串 Reverse String
LeetCode 344. 反转字符串 Reverse String
|
3天前
|
安全 Java 编译器
Java中String、StringBuilder和StringBuffer的区别
Java中String、StringBuilder和StringBuffer的区别