LeetCode in Kotlin

1784. Check if Binary String Has at Most One Segment of Ones

Easy

Given a binary string s without leading zeros, return true if s contains at most one contiguous segment of ones. Otherwise, return false.

Example 1:

Input: s = “1001”

Output: false

Explanation: The ones do not form a contiguous segment.

Example 2:

Input: s = “110”

Output: true

Constraints:

Solution

class Solution {
    fun checkOnesSegment(s: String): Boolean {
        var metOne = false
        var i = 0
        while (i < s.length) {
            if (s[i] == '1' && metOne) {
                return false
            }
            if (s[i] == '1') {
                metOne = true
                while (i < s.length && s[i] == '1') {
                    i++
                }
            }
            i++
        }
        return true
    }
}