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

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

输入格式:

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

输出格式:

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

输入样例:

student. a am I

输出样例:

I am a student.
#include <bits/stdc++.h>  // 保留了空格
using namespace std;
#define maxN 50005
int main()
{stack<string> st;string s, tmp;int len, i;while(getline(cin,s)){i = 0;len = s.length();while(i < len){tmp = "";while(s[i] == ' ' && i < len){tmp = tmp + s[i];i++;}if(tmp.length() > 0)st.push(tmp);tmp = "";while(s[i] != ' ' && i < len){tmp = tmp + s[i];i ++;}if(tmp.length() > 0)st.push(tmp);}while(!st.empty()){s = st.top();st.pop();cout << s;}cout << endl;}return 0;
}

7-59 翻转单词顺序 (20 分)相关推荐

  1. 编程小练习:最大公约数,字符串反序输出,全排列,不用加减法求和,字符串内容反序,字符串中最长数字串,数组是否递增,数组反转,链表反转,翻转单词顺序

    最大公约数 --- 递归.非递归 #include <stdio.h>int gcd(int a, int b); int gcd_recursive(int a, int b);int ...

  2. 数据结构与算法--翻转单词顺序

    翻转单词顺序 题目:输入一个英文句子,翻转句子中的单词顺序,但是单词内的字符顺序不变,例如:I am a software engineer -> engineer software a am ...

  3. 【剑指offer{40-44}】和为S的连续正数序列、和为S的两个数字、左旋转字符串、翻转单词顺序列、扑克牌顺子

    文章目录 和为S的连续正数序列 题目描述 C++代码 和为S的两个数字 题目描述 C++代码 左旋转字符串 题目描述 C++代码 翻转单词顺序列 题目描述 C++代码 扑克牌顺子 题目描述 C++代码 ...

  4. 【剑指offer-Java版】42翻转单词顺序VS左旋转字符串

    反转单词顺序以及左旋转字符串:输入一个英文句子,翻转句子中的单词顺序,单词内部的字母顺序是不变的 – I am a student. -> student. am I 第一步,翻转句子中的所有字 ...

  5. LeetCode-剑指 Offer 58 - I. 翻转单词顺序

    剑指 Offer 58 - I. 翻转单词顺序 思路一:也是核心思想,就是先把句子中所有字符串取出放入字符串数组,再对数组中的字符串进行操作后重新连接即可,具体问题具体细节还需要按题目要求分析 而遍历 ...

  6. [剑指offer]面试题42:翻转单词顺序 VS左旋转字符串

    面试题42:翻转单词顺序 VS左旋转字符串 题目一:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变.为简单起见,标点符号和普通字母一样处理.例如输入字符串"I am a st ...

  7. 【LeetCode】剑指 Offer 58 - I. 翻转单词顺序

    [LeetCode]剑指 Offer 58 - I. 翻转单词顺序 文章目录 [LeetCode]剑指 Offer 58 - I. 翻转单词顺序 一.双指针 一.双指针 算法解析: 倒序遍历字符串 s ...

  8. 剑指 Offer 58 - I. 翻转单词顺序 (双指针)

    剑指 Offer 58 - I. 翻转单词顺序 题意: 翻转一个英文句子中单词顺序 解法1 思路: split分割 + 倒序 public static String reverseWords(Str ...

  9. 剑指offer——面试题42-2:翻转单词顺序

    剑指offer--面试题42-2:翻转单词顺序 20180906整理 Solution1: 自己想的垃圾算法 对于c++中的string对象,substr()和erase()函数都是很常用的,常见用法 ...

最新文章

  1. EJS 模板中,js 如何获取后端传来的数据
  2. 【机器学习基础】前置知识(四):一文掌握Pandas用法
  3. 华为交换机S5700开启telnet
  4. mysql 查询时间转换_数据库查询时日期的转换
  5. 常见的Java审计代码函数关键字_转载:Java代码审计汇总系列(一)——SQL注入
  6. java 多目录 编译jar_javac编译多个包下的、依赖其他jar包的java文件
  7. 用火车头采集小游戏网站教程[转载]
  8. opencv android模版匹配,Opencv for android 模板匹配
  9. selenium rc java_selenium RC+JAVA 笔记 一
  10. mysql 从库升级为主库的步骤
  11. 实验1 java程序基础_《Java程序设计》实验1
  12. [原]逆向iOS SDK -- “添加本地通知”的流程分析
  13. Windows Server 2003 (NT 5.2.3790.0) 操作系统源代码编译构建指南版本 10b,上次更新 2021/10/21
  14. [视频相关2]网址解析接口
  15. Android 播放本地 ts 格式视频
  16. 软考高项 : (04)论项目沟通管理
  17. cocos2D转U3D的一些分享
  18. 中国天气网 天气预报API 国家气象局 根据城市名称抓取城市ID,XML格式、JSON格式、图片代码
  19. 易基因综述:表观遗传学和表观育种在作物品种改良的重要作用(水稻+玉米+番茄+大豆+油菜)
  20. 恩信ERP7.10安装、定制和二次开发

热门文章

  1. 第六章网络安全技术与产品考试要点及真题分布
  2. 软考信息安全工程师备考笔记3:第三章网络安全基础备考要点
  3. 开发成本谁更高:Android PK iOS
  4. stm32单片机屏幕一直闪_用STM32做一个微型掌上示波器项目——终于鼓起在大牛前献丑的无比勇气...
  5. jQuery获得select的值及其他操作
  6. js检测弹出窗口拦截程序
  7. 2019年4月27日 修改功能
  8. java十进制转十六进制
  9. 20145307《信息安全系统设计基础》第十一周学习总结
  10. react直接使用bootstrap失效的原因