统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。
请注意,你可以假定字符串里不包括任何不可打印的字符。
示例:
输入: "Hello, my name is John"
输出: 5
方法一:正则表达式筛选\s+删除多个空格,这里除了空格都算字符,逗号等。空间复杂度O(n)
class Solution {
public int countSegments(String s) {
String trimed = s.trim();
if(trimed.equals(""))
return 0;
return trimed.split("\\s+").length;
}
}
方法二:记录当前位置不为空格且,前一个位置是空格的个数,开头位置特殊判断一下,空间复杂度O(1)
class Solution {
public int countSegments(String s) {
int num = 0;
for(int i = 0; i < s.length(); i++){
if((i == 0 || s.charAt(i - 1) == ' ') && s.charAt(i) != ' ')
num++;
}
return num;
}
}