LintCode-1173 · 反转字符串 III

LintCode-1173 · 反转字符串 III

题目链接:
https ://www.lintcode.com/problem/1173/?_from=collection&fromId=208

描述:
给定一个字符串句子,反转句子中每一个单词的所有字母,同时保持空格和最初的单词顺序。

样例:
输入 : Let”s take LeetCode contesc
输出 : s”teL ekat edoCteeL tsetnoc

解题思路:
由样例可以看出先将字符串按空格分开后再进行反转,所以我们可以先将字符串按空格分割,
在C++中可以使用istringstream进行分割,用string的reverse(s.begin(), s.end())进行反转。

istringstream简单使用:
1、使用前必须包含头文件 < sstream>
2、构造istringstream:istringstream 变量名称(字符串 / 字符串变量);
3、样例

#include<iostream>  
#include<sstream>        //istringstream 必须包含这个头文件
#include<string>  
using namespace std;  
int main()  
{  
    string str="123 456
789";  
    istringstream is(str);  
    string s;  
    while(is>>s)  // >> 按照字符流读入 所以是按" "或者"
"分割
    {  
        cout<<s<<endl;  
    }  
      
} 
输出是:
123
456
789

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » LintCode-1173 · 反转字符串 III