给定一个字符串,逐个翻转字符串中的每个单词。

示例 1:

输入: "the sky is blue"
输出: "blue is sky the"

示例 2:

输入: "  hello world!  "
输出: "world! hello"
解释: 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。

示例 3:

输入: "a good   example"
输出: "example good a"
解释: 如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。

解法:按要求模拟,首先前面有" "的都要去了,然后开始就是单词了,每碰到一个" "就是一个单词,用栈存储起来就可以了。然后输出的时候从栈当中拿出来输出即可。
class Solution {
public:string reverseWords(string s) {stack<string> str;string s0 = "";if(s.empty()){s = "";return s;}for(int i=0;i<s.length();i++){if(s[i]!=' '){s0+=s[i];continue;}  //得到字符组成字符串。else if(!s0.empty()){str.push(s0); s0="";   }}if(!s0.empty()){str.push(s0);s0="";}while(!str.empty()){s0+=str.top(); str.pop();s0+=" ";}if(s0.empty()){s = "";return s;}s0.erase(s0.end()-1);s = s0;return s;}
};


转载于:https://www.cnblogs.com/jkzr/p/10594916.html

LeetCode 翻转字符串里的单词相关推荐

  1. [leetcode]151.翻转字符串里的单词

    给你一个字符串 s ,逐个翻转字符串中的所有 单词 . 单词 是由非空格字符组成的字符串.s 中使用至少一个空格将字符串中的 单词 分隔开. 请你返回一个翻转 s 中单词顺序并用单个空格相连的字符串. ...

  2. 数组翻转_LeetCode刷题实战151:翻转字符串里的单词

    算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 !今天和大家聊 ...

  3. LeetCode--151. 翻转字符串里的单词(字符串翻转,字符串分割)

    翻转字符串里的单词(双指针,字符串分割) 1. 题目描述 2. 题目分析 3. C语言实现 4. Python实现 1. 题目描述 难度:中等 2. 题目分析 这道题我们需要注意的点有以下几个: 每个 ...

  4. Lc151翻转字符串里的单词

    翻转字符串里的单词 差一点就做出来,一开始用空格拆分单词,但是这个样例the sky is blue 没有通过,单词之间有多个空格的情况,然后看了评论区--学了一个正则表达式 /\s+/这是正则表达式 ...

  5. 72.编辑距离105.前序中序遍历序列构造二叉树151.翻转字符串里的单词104.二叉树的最大深度76.最小覆盖子串110.平衡二叉树31.下一个排列

    72.编辑距离 给你两个单词 word1 和 word2, 请返回将 word1 转换成 word2 所使用的最少操作数 .你可以对一个单词进行如下三种操作:插入一个字符,删除一个字符,替换一个字符. ...

  6. 代码随想录算法训练营第八天|● 344.反转字符串● 541. 反转字符串II● 剑指Offer 05.替换空格● 151.翻转字符串里的单词● 剑指Offer58-II.左旋转字符

    一.344.反转字符串 力扣 思路:很简单的一个for循环双指针,left和right交换. class Solution {public void reverseString(char[] s) { ...

  7. python单词反转_翻转字符串里的单词

    翻转字符串里的单词 题目要求 给定一个字符串,逐个翻转字符串中的每个单 示例: 输入: " the sky is blue", 输出: "blue is sky the ...

  8. 代码随想录算法训练营第八天|344.反转字符串 541. 反转字符串II 剑指Offer 05.替换空格 151.翻转字符串里的单词 剑指Offer58-II.左旋转字符串

    一.344.反转字符串 题目:编写一个函数,其作用是将输入的字符串反转过来.输入字符串以字符数组 char[] 的形式给出. 不要给另外的数组分配额外的空间,你必须原地修改输入数组.使用 O(1) 的 ...

  9. 代码随想录算法训练营第08天 | LeetCode 344.反转字符串,541. 反转字符串2,剑指Offer 05.替换空格,151.翻转字符串里的单词,剑指Offer58-II.左旋转字符串

    LeetCode [344. 反转字符串] 题目:编写一个函数,其作用是将输入的字符串反转过来.输入字符串以字符数组 s 的形式给出. 不要给另外的数组分配额外的空间,你必须**原地修改输入数组**. ...

  10. leetcode 151. 翻转字符串里的单词

    难度:中等 频次:69 题目: 给你一个字符串 s ,逐个翻转字符串中的所有 单词 . 单词 是由非空格字符组成的字符串.s 中使用至少一个空格将字符串中的 单词 分隔开. 请你返回一个翻转 s 中单 ...

最新文章

  1. F - Count the Colors - zoj 1610(区间覆盖)
  2. tp框架之Model类与命名空间
  3. mysql配置kodi16.1_kodi16.1电脑版和机顶盒版安装和使用图文教程
  4. python中的os操作文件,文件路径
  5. python编译成exe有意义吗_python工程编译成EXE
  6. 常用类回顾之(String类)
  7. 奥林匹克数学竞赛教练员汇编,最牛奥数资料全集!
  8. 听说你趁我不在家,欺负我老婆?
  9. Bootstrap系列 -- 23. 图片
  10. SQLite数据库损坏修复
  11. Spring注解驱动开发-----容器day01
  12. 为什么说 C++ 太复杂?有必要这么复杂吗?| 原力计划
  13. linux 火狐浏览器插件,Linux系统Firefox(火狐浏览器)插件挂机
  14. 开源BI工具对比(二):Superset
  15. 蓝宝石英语怎么读,sapphire是什么意思_sapphire的翻译_音标_读音_用法_例句_爱词霸在线词典...
  16. 如何查看本地ip地址和外网地址
  17. 【剑桥摄影协会】Photoshop中的USM算法(Unsharp Mask)
  18. kaldi理解WFST,HCLG,lattice
  19. 外贸收款方式精辟分析 1
  20. 计算机应用基础自考怎么报名,自考如何报名 报考流程是什么

热门文章

  1. python载入图片序列_python – 使用matplotlib显示图像序列
  2. delphi memo 查找字符 下行插入_VBA实践+用编程代码为PDF文档插入书签
  3. su组件在什么窗口_动态组件:你坐好,我让SU模型自己开门
  4. python 读取文件名列表_python 读取指定文件夹下所有文件名
  5. python脚本画pie饼图_小白学Python(11)——pyecharts,绘制饼图 Pie
  6. python输出重定向_使用Python子进程重定向标准输出到标准输入...
  7. hdoj1290切球形蛋糕(递推和划分问题)
  8. mysql数据库文件结构同步,[数据库的表同步mysql]MySQL表结构同步
  9. matlab畸变程度计算,matlab 畸变校正代码
  10. mysql 循环语句语法_MySQL循环语句之while循环测试