题目:Given an input string, reverse the string word by word.

For example,
Given s = "the sky is blue",
return "blue is sky the".

要求:

1)首尾有空格的时候,反转后的string要将空格去掉

2)当string有多个连续空格的时候,只保留一个空格、

代码分析:

对多余空格剔除:

思路分析:

1)从原始s 的最末尾开始扫描,如果遇到空格,用while剔除掉。

2)接下来从第一个非空格读取,存入一个temp的string中,然后调用string::reverse() 反转,并string::append()到ss中。

3)重复1、2步,但是有几个情况需要注意:

a.我们从末尾扫描,当扫描到空格,后,由于ss为空,所以不会push.back(' ')到ss中。

b.中间有空格的,我们剔除完空格后就需要再增加一个' ',

c.最开始的空格怎么处理呢?我们用到

  1.  if (string_index < 0)     
  2.        break;
也就是剔除了空格后,如果此时的index已经是最开头了,那么我们就退出循环。
 
 
 
 
 

最新文章

  1. react+redux教程(六)redux服务端渲染流程
  2. CF2.E
  3. javascript的sort()方法
  4. wamp链接mysql数据库
  5. Solaris 和linux 之oracle 数据库的安装
  6. Mdrill:来自阿里的多维快速查询工具
  7. kali获得已经安装的软件列表
  8. 基于avalon1.4.x ----分页组件编写
  9. Unity NGUI 血条制作
  10. java字符串数组进行大小排序
  11. CXF发布webservice入门
  12. 强大核心功能矩阵,详解腾讯云负载均衡CLB高可靠高性能背后架构
  13. Hangfire源码解析-如何实现可扩展IOC的?
  14. ELK-Logstash采集日志和输送日志流程测试
  15. vue+koa实现简单的图书小程序(2)
  16. MySQL中间件之ProxySQL(13):ProxySQL集群
  17. Generalized Power Method for Sparse Principal Component Analysis
  18. Linux 解决 firefox 中文页面乱码问题
  19. python英文与中文的词频统计
  20. android 修改listview item view 的方法

热门文章

  1. java小程序:求完全数
  2. go语言入门
  3. Quartz的misfire特性
  4. opencv绘制灰度直方图
  5. ubuntu下安装Ming的教程
  6. 自定义View(5)Paint常用的一些绘制滤镜,特效等介绍
  7. 通俗易懂的讲解iphone视图控制器的生命周期
  8. Android studio在真机上进行调试
  9. maven - setting.xml
  10. hdu 2372 El Dorado (dp)