| 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)
}
}