字符串中的反转单词,
Reverse words in a string,
Leetcode 问题:给定一个输入字符串,逐字反转该字符串。
例如给定 s = "天空是蓝色的",返回"蓝色是天空"。
谁能解释为什么leetcode总是给我错误符号:输入 : " "输出:"预期:"
当我在本地测试时,它输出只是预期的。奇怪。
#include <iostream>
#include <vector>
#include <map>
#include <string>
#include <stdlib.h>
#include <string>
using namespace std;
class Solution{
public:
static string reverseWords(string &s)
{
vector<string> words;
string word = "";
//get each word
for(int i = 0 ; i <= s.size(); i++)
{
if(s[i] == ' ' || i == s.size())
{
if(word!="")
{
words.push_back(word);
word = "";
}
}
else
{
word += s[i];
}
}
// for (vector<string>::iterator i = words.begin(); i!=words.end(); i++) {
// cout<<*i<<endl;
// }
string reverseStr = "";
//pop reverse order
int size = words.size();
for(int i = 0; i < size ; i++)
{
if(i != size-1)
{
reverseStr += words.back() + ' ';
}
else{
reverseStr += words.back();
}
words.pop_back();
}
return reverseStr;
}
};
int main(int argc, char const *argv[])
{
string s = " the sky is blue ";
Solution::reverseWords(s);
return 0;
}
当字符串中没有单词时,输出将为空字符串。也就是说,输出字符串将""
。它不应包含空格。
输入 : " "
- 一个空格
预期输出:""
- 空字符串
相关文章:
- 从字符串变量中逐字符读取单词
- 使用std::mt19937从字符串中返回一个随机单词
- C++-字符串是否包含一个带有简单循环的单词
- 在C++中查找(奇怪的)字符串中的单词
- 当字符串是某个单词时给出输出?
- 替换字符串中的单词,但忽略引号中的单词
- 替换字符串位置 X 中的单词C++
- 视觉C++使用 map 来比较字符串中的每个单词
- 给定一个单词数组和一个字符串,如何计算给定字符串中的所有单词
- 输出返回编号。等于输入字符串的单词的字符串数
- 在字符串的每个单词的末尾插入字符串
- 分析字符串中的双精度和单词
- 如何使用运算符>>在自定义字符串中输入多个单词?
- 反转字符串中单词的位置,而不更改 O(1) 空格限制中特殊字符的顺序
- 使用正则表达式c++从单词和分隔符之间的字符串中提取所有子字符串
- 从文件 (C++) 输入两个单词字符串
- 在一行中输入具有其他输入类型的多个单词字符串
- 打印以 "a" 开头的单词(字符串中)
- 如何让我的代码以不会切断单词(字符串)的方式运行?
- 句子变成单词c++字符串