题目
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) {
//判断字符串是否长度为0或者都是空格,如果是则字段为0
if(s.length()==0||s.trim().isEmpty()) return 0;
//把字符串两端的空格都去掉
String str=s.trim();
int j=0;
for(int i=0;i<str.length();i++){
//空格减去‘A’是-33.如果这个字符是空格,但是下一个字符不是空格,则是一个字段
if(str.charAt(i)-'A'==-33&&str.charAt(i+1)-'A'!=-33)
j++;
}
if(j==0) return 1;
else return j+1;
}
}