LeetCode in Kotlin

1941. Check if All Characters Have Equal Number of Occurrences

Easy

Given a string s, return true if s is a good string, or false otherwise.

A string s is good if all the characters that appear in s have the same number of occurrences (i.e., the same frequency).

Example 1:

Input: s = “abacbc”

Output: true

Explanation: The characters that appear in s are ‘a’, ‘b’, and ‘c’. All characters occur 2 times in s.

Example 2:

Input: s = “aaabb”

Output: false

Explanation: The characters that appear in s are ‘a’ and ‘b’. ‘a’ occurs 3 times while ‘b’ occurs 2 times, which is not the same number of times.

Constraints:

Solution

class Solution {
    fun areOccurrencesEqual(s: String): Boolean {
        val counter = IntArray(26)
        for (i in 0 until s.length) {
            counter[s[i].code - 'a'.code]++
        }
        var bench = 0
        for (i in 0..25) {
            if (bench == 0) {
                if (counter[i] != 0) {
                    bench = counter[i]
                }
            } else {
                if (counter[i] != 0 && counter[i] != bench) {
                    return false
                }
            }
        }
        return true
    }
}