LeetCode 434:Number of Segments in a String (c++)
来源:互联网 发布:文件夹加密软件免费 编辑:程序博客网 时间:2024/05/23 01:59
一:题目
Count the number of segments in a string, where a segment is defined to be a contiguous sequence of non-space characters.
Please note that the string does not contain any non-printable characters.
Example:
Input: "Hello, my name is John"Output: 5
计算字符串中的段数,其中一个段被定义为一个连续的非空格字符序列。
请注意,字符串中不包含任何不可打印字符。
二:解题思路
一开始简单理解为,一句话中,用空格分隔每一个单词,统计空格的个数num,num+1即为字符串中的段数,结果通不过所有的测试用例
1.如空串“”,返回结果应该i为0
2.如全部是空格“ ”,返回结果应该也为0
思路:首先要去掉字符串两端的空格,然后统计单词与单词之间的“空格数”(当前为空格,空格的下一位非空),返回“空格数”+1,即为段数
三:代码实现
class Solution {public: //去掉开头和结尾的空格 string trim(string s){ int i; //去除左边的空格 for(i=0;i<s.length();i++) if(s[i]!=' ') break; s=s.substr(i,s.length()-i); //去除右面的空格 for(i=s.length()-1;i>=0;i--) if(s[i]!=' ') break; s=s.substr(0,i+1); return s; } int countSegments(string s) { //判断字符串是否长度为0或者都是空格(去掉空格后,长度也为0),如果是则字段为0 s=trim(s); if(s.length()==0) return 0; //把字符串两端的空格都去掉 int i; int j=0; for(int i=0;i<s.length()-1;i++){ //空格减去‘A’是-33.如果这个字符是空格,但是下一个字符不是空格,则是一个字段 if(s[i]==' ' && s[i+1]!=' ') j++; } return j+1; }};
阅读全文
0 0
- LeetCode 434:Number of Segments in a String (c++)
- Leetcode Number of Segments in a String
- LEETCODE--Number of Segments in a String
- Leetcode 434 Number of Segments in a String
- Leetcode Number of Segments in a String 434
- leetcode 434- Number of Segments in a String
- Leetcode 434 Number of Segments in a String
- leetcode 434[easy]---Number of Segments in a String
- 434 Number of Segments in a String
- LeetCode 434. Number of Segments in a String
- LeetCode 434. Number of Segments in a String
- 【Leetcode 434. Number of Segments in a String】
- leetcode 434. Number of Segments in a String
- LeetCode 434. Number of Segments in a String
- leetcode oj java Number of Segments in a String
- LeetCode 434. Number of Segments in a String
- Leetcode 434. Number of Segments in a String (Easy) (cpp)
- 【LeetCode】 434. Number of Segments in a String
- C#类的一些简单比较
- Shader学习案例一---屏幕特效之黑白化当前屏幕
- JQuery对象和DOM对象的区别
- C++读书笔记(1)
- 【笔记】SPP-Net : Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition
- LeetCode 434:Number of Segments in a String (c++)
- Android高级工程师需要掌握的技术
- hbase数据库介绍,HBASE的特点,表结构逻辑视图,Row Key,列族,时间戳,Cell
- 量化投资传送门
- 机器学习——神经网络、深度学习 知识点总结 及 面试题汇总
- http://jingyan.baidu.com/article/f96699bb8b38e0894e3c1bef.html
- viewpager中fragment的生命周期管理
- Android6.0运行时权限
- Android、iOS手机端-添加背景音乐