https://leetcode.com/problems/number-of-segments-in-a-string/
You are given a string s
, return the number of segments in the string.
A segment is defined to be a contiguous sequence of non-space characters.
Example 1:
Input: s = "Hello, my name is John"
Output: 5
Explanation: The five segments are ["Hello,", "my", "name", "is", "John"]
Example 2:
Input: s = "Hello"
Output: 1
Example 3:
Input: s = "love live! mu'sic forever"
Output: 4
Example 4:
Input: s = ""
Output: 0
Constraints:
0 <= s.length <= 300
s
consists of lower-case and upper-case English letters, digits or one of the following characters"!@#$%^&*()_+-=',.:"
.- The only space character in
s
is' '
.
- 经典双指针
class Solution {
public int countSegments(String ss) {
int res = 0;
char[] s = ss.toCharArray();
for (int i = 0; i < s.length; i++) {
if (s[i] == ' ') continue;
int j = i + 1;
while (j < s.length && s[j] != ' ')
j ++;
res ++;
i = j - 1;
}
return res;
}
}