原题:

434. Number of Segments in a String

解题:

刚看到题目时,觉得可以通过统计空格个数,但想想有可能会有多个空格的情况

思路:

一:遍历字符,if条件碰到非空格时,计数加1,然后while循环跳过非空格字符,一直到最后

二:设置flag初始为0,当碰到非空格时,计数加1,且flag置1,当flag为1且碰到空格时,flag再重置为0

思路一是自己想的,思路二更巧妙,是论坛里摘抄的

AC代码:

思路一:

class Solution {
public:
int countSegments(string s)
{
int len = s.length();
int i = 0;
int count = 0;
for(; i < len; i++)
{
if(s[i]!=' ')
{
count++;
while(s[i]!=' '&&i<len)
{
i++;
}
i -= 1; //回退一个位置,因为for循环会累加
} }
return count;
}
};

 

  思路二:

class Solution {
public:
int countSegments(string s) {
int count=0;
int flag = 0;
for (int i=0;i<s.size();i++) {
if (flag ==0 && s[i]!=' ') {
count++;
flag = 1;
}
if (flag ==1 && s[i]==' ') {
flag = 0;
} }
return count;
}
};

  

最新文章

  1. 12,13 Proxy和Reflect
  2. CentOS 安装tomcat 7
  3. Java for LeetCode 041 First Missing Positive
  4. objective-c new关键字
  5. error LNK2026: 模块对于 SAFESEH 映像是不安全的
  6. 设计师必看的10个HTML5动画工具
  7. MyEclipse2015破解版_MyEclipse 2015 stable 2.0 稳定版 破解日志
  8. Java模拟登陆02【转载】
  9. Java Concurrency - 取消线程执行器中的线程
  10. Android(java)学习笔记124:Android权限大全
  11. infix to postfix 完整版
  12. php 文档操作
  13. 构建微服务开发环境4————安装Docker及下载常用镜像
  14. robotframework RF使用中需要安装的工具和库
  15. 使用 ReSharper,输入即遵循 StyleCop 的代码格式化规范
  16. bash的基础特性
  17. Nodejs+定时截图+发送邮件
  18. 【HDU 3590】 PP and QQ (博弈-Anti-SG游戏,SJ定理,树上删边游戏)
  19. Canvas+Js制作动量守恒的小球碰撞
  20. js获取url链接地址的参数

热门文章

  1. c#day01
  2. JVM性能、多线程排查常用命令
  3. [SQL]卸载数据库清理注册表方法regedit
  4. 腾讯微信被怼,iOS版微信不能打赏了
  5. java类加载器 Bootstrap、ExtClassLoader、AppClassLoader的关系
  6. Android:真机调试遇到的问题(INSTALL_FAILED_CANCELLED_BY_USER和INSTALL_FAILED_INSUFFICIENT_STORAGE)
  7. IOS 7层协议
  8. REST framwork之认证,权限与频率
  9. QQ聊天字体选择
  10. java根据GPS(经纬度)获取地理位置