https://leetcode.com/problems/number-complement Easy

Решение

fun findComplement(num: Int): Int {
    var mask = 0
    var temp = num

    // Создаем маску, которая имеет все единицы в значащих битах числа num
    while (temp != 0) {
        mask = (mask shl 1) or 1
        temp = temp shr 1
    }

    // Применяем XOR, чтобы инвертировать все значащие биты
    return num xor mask
}