您的位置:首页 > 其它

【LeetCode】Number of Segments in a String 解题报告

2017-05-05 11:23 489 查看

【LeetCode】Number of Segments in a String 解题报告

标签(空格分隔): LeetCode

题目地址:https://leetcode.com/problems/number-of-segments-in-a-string/#/description

题目描述:

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

Ways

这个题方法应该自己使用过的,不过是倒着来。回想自己以前在每个单词后面输入一个空格,但是行尾不要空格的时候怎么做的?不就是判断第一个单词的前面不打空格,在之后的所有单词的前面打了一个空格。这个题的思路是不是倒着来?

判断某个单词的开始的字符前面是不是空格,如果是字符串的第一个字符也会把技术加1,这样就能统计出所有用空格分割的字符串段的个数。

public class Solution {
public int countSegments(String s) {
int count = 0;
for(int i = 0; i < s.length(); i++){
if(s.charAt(i) != ' ' && (i == 0 || s.charAt(i - 1) == ' ')){
count++;
}
}
return count;
}
}


方法二:使用正则表达式。正则
\s
表示匹配空格,
+
表示匹配一次或者任意多次。所以有以下代码。

public int countSegments(String s) {
String trimmed = s.trim();
if (trimmed.length() == 0) return 0;
else return trimmed.split("\\s+").length;
}


Date

2017 年 5 月 5 日
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: