https://leetcode.com/problems/add-binary Easy

Решение

class Solution {
    fun addBinary(a: String, b: String): String {
        val n = a.length
        val m = b.length
        val res = CharArray(kotlin.math.max(n, m) + 1)
        var i = n - 1
        var j = m - 1
        var k = res.size - 1
        var carry = 0
        while (i >= 0 || j >= 0 || carry != 0) {
            val x = if (i >= 0) a[i--].code - 48 else 0
            val y = if (j >= 0) b[j--].code - 48 else 0
            val s = x + y + carry
            res[k--] = (48 + (s and 1)).toChar()
            carry = s ushr 1
        }
        return String(res, k + 1, res.size - k - 1)
    }
}