434. Number of Segments in a String

1. Description

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.

2. Example

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

3. 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 ' ‘.

4. Solutions

My Accepted Solution

n = i_str.size()
Time complexity: O(n)
Space complexity: O(1)

class Solution 
{
public:
    // int countSegments(string s)
    int countSegments(string &i_str) 
    {
        int result = 0;
        for(int i = 1; i < i_str.size(); i++)
        {
            if(i_str[i - 1] == ' ' && i_str[i] != ' ')
                result++;
        }
        
        return result;
    }
};
Last updated:
Tags: String
comments powered by Disqus