LeetCode in Kotlin

434. Number of Segments in a String

Easy

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

Constraints:

Solution

@Suppress("NAME_SHADOWING")
class Solution {
    fun countSegments(s: String): Int {
        var s = s
        s = s.trim { it <= ' ' }
        if (s.isEmpty()) {
            return 0
        }
        val splitted = s.split(" ".toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray()
        var result = 0
        for (value in splitted) {
            if (value.isNotEmpty()) {
                result++
            }
        }
        return result
    }
}