In this Leetcode Number of Segments in a String problem solution, 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.

Leetcode Number of Segments in a String problem solution


Problem solution in Python.

class Solution:
    def countSegments(self, s: str) -> int:
        for x in "!@#$%^&*()_+-=',.:":
            s.replace(x," ")
        return len([x for x in s.split(" ") if x!= ""])



Problem solution in Java.

class Solution {
    public int countSegments(String s) {
        String[] s1 = s.split(" ");
        int len = 0;
        for(int i=0;i<s1.length;i++){
            if(!s1[i].equals("")){
                len++;
            }
        }
        
        return len;
    }
}


Problem solution in C++.

int countSegments(string s) {
        int count=0;
        for(int i=0;i<s.size();i++)
            if((i==0 || s[i-1]==' ') && s[i]!=' ')
                count++;
        return count;
    }


Problem solution in C.

int countSegments(char* s) {
    int count_space = 0;
    bool prev_space = false;
    
    if (*s == '\0') { return 0; }
    
    for (; *s == ' '; ++s);
    if (*s == '\0') { return 0; }
    
    for (; *s != '\0'; ++s) {
        if (!prev_space && *s == ' ') {
            prev_space = true;
            ++count_space;
        }
        else if (*s != ' ') {
            prev_space = false;
        }
    }
    return prev_space ? count_space : count_space+1;
}