7-59 翻转单词顺序 (20 分)

简介: 7-59 翻转单词顺序 (20 分)

7-59 翻转单词顺序 (20 分)


给定一个字符串,翻转该字符串,翻转时单词中的字符顺序不变。例如,如果字符串为"Hello World",则翻转后为"World Hello"。单词间以一个或多个空格分隔。注意,字符串开头和结尾都可能有多个空格。


输入格式:


输入可能包括多行。每行代表一个字符串,除了空格外,标点符号和普通字母一样处理。你可以认为一行的字符总数不会超过50000个,单词数不会超过600,每个单词的长度也不会超过30。


输出格式:


输出包括多行,每行对应输入的一行,为翻转后的字符串。


输入样例:


student. a am I


输出样例:


I am a student.



#include<iostream>
#include<vector>
#include<sstream>
#include<stack>
using namespace std;
int main() 
{
    string s;
    vector<string>v;
    stack<string>st;
    while (getline(cin,s))
    {
        stringstream t(s);
        while (t >> s) v.push_back(s);
        for (int i = v.size() - 1; i >= 0; i--)
        {
            if (i != v.size() - 1) cout << ' ';
            cout << v[i];
        }
        cout << endl;
        v.clear();
    }
    return 0;
}
目录
相关文章
|
5月前
|
算法
现有‘abcdefghijkl’12个字符,将其所有的排列按字典序进行排序,给出任意一组排列,说出这租排列在所有排列中是第几小的
现有‘abcdefghijkl’12个字符,将其所有的排列按字典序进行排序,给出任意一组排列,说出这租排列在所有排列中是第几小的
58 1
|
5月前
leetcode题解:1768.交替合并字符串
leetcode题解:1768.交替合并字符串
34 0
|
6月前
|
C++
剑指 Offer 58 - I:翻转单词顺序(c++字符串常用处理方法)
剑指 Offer 58 - I:翻转单词顺序(c++字符串常用处理方法)
42 0
剑指offer 65. 翻转单词顺序
剑指offer 65. 翻转单词顺序
59 0
翻转单词顺序(简单难度)
翻转单词顺序(简单难度)
73 0
翻转单词顺序(简单难度)
|
算法
【Day30】LeetCode算法 [769. 最多能完成排序的块 ] [2131. 连接两字母单词得到的最长回文串]
学习LeetCode算法 [769. 最多能完成排序的块 ] [2131. 连接两字母单词得到的最长回文串]。
117 0
【Day30】LeetCode算法 [769. 最多能完成排序的块 ] [2131. 连接两字母单词得到的最长回文串]
翻转单词顺序
翻转单词顺序
102 0
滑动窗口__最长不含重复字符的子符串_和为S的连续正整数序列(剑指offer)
滑动窗口__最长不含重复字符的子符串_和为S的连续正整数序列(剑指offer)
104 0
滑动窗口__最长不含重复字符的子符串_和为S的连续正整数序列(剑指offer)
|
C#
C#经典案例实现(求单词在句子出现的次数,字符串倒序输出,用泛型实现两数交换等)
(求单词在句子出现的次数,字符串倒序输出,用泛型实现两数交换等)
138 1