leetcode_434. Number of Segments in a String 计算字符串中段的个数,只需遍历一遍字符串
来源:互联网 发布:java有哪些类 编辑:程序博客网 时间:2024/06/01 08:24
题目:
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
题意:
计算字符串中段的数量,其中段被定义为非空格字符的连续序列。
请注意,字符串不包含任何不可打印的字符。
代码:
public class Solution {
public int countSegments(String s) {
int n = s.length(); //计算字符串长度
int i = 0; //下标遍历字符串
int res = 0; //记录段的个数
int flag = 0; //标记正在遍历的是段,还是空格;初始化flag = 0,表示正在遍历空格;flag = 1,表示正在遍历段;
while( i < n ){
if( s.charAt(i) != ' ' && flag == 0 ){ //当前字符不是空格,且之前是在遍历空格状态,则开始进入段,段个数res加1
res++;
flag = 1; //已进入段,修改状态
i++;
}
else if( s.charAt(i) != ' ' && flag == 1 ){ //当前字符不是空格,但之前是在遍历段的状态,表示还在段中,直接i++
i++;
}
else if( s.charAt(i) == ' ' && flag == 0 ){ //当前字符是空格,且之前是在遍历空格的状态,表示还在遍历空格中,直接i++
i++;
}
else if( s.charAt(i) == ' ' && flag == 1 ){ //当前字符是空格,但之前是在遍历段的状态,表示之前的段遍历结束,开始进入空格状态,修改flag,i++
flag = 0; //前一个段遍历结束,进入遍历空格状态
i++;
}
}
return res;
}
}
笔记:
1、几种状态是互斥的,要用if--else 的逻辑
- leetcode_434. Number of Segments in a String 计算字符串中段的个数,只需遍历一遍字符串
- leetcode -- 434. Number of Segments in a String 【字符串处理】
- Leetcode 434. Number of Segments in a String 字符串的分段 解题报告
- 434. Number of Segments in a String | 判断字符串中单词的数量
- leetcode 434.Number of Segments in a String(easy)[分割字符串]
- 434. Number of Segments in a String
- 434. Number of Segments in a String
- Leetcode434. Number of Segments in a String
- Number of Segments in a String
- 434. Number of Segments in a String*
- 434. Number of Segments in a String
- Leetcode Number of Segments in a String
- 434. Number of Segments in a String
- LEETCODE--Number of Segments in a String
- 434. Number of Segments in a String
- 434. Number of Segments in a String
- 434. Number of Segments in a String
- Number of Segments in a String
- Beyond Compare文件比较四种结果分析
- 749 B. Parallelogram is Back codeforces
- 编程实现
- basic use of sidekiq (2)
- nodemcu使用心得(一)模块的测试和烧写固件
- leetcode_434. Number of Segments in a String 计算字符串中段的个数,只需遍历一遍字符串
- 《Spring源码深度解析》阅读笔记1-Spring整体架构
- [教程]微信官方开源UI库-WeUI使用方法【申明:来源于网络】
- Android studio 配置 ,gradle 设置
- 数据库中一些基础的操作
- 4.11.3
- 杀死当前进程,完全退出程序
- angularJS中ng-class指令的三种实现方式
- linux 自定义short脚本