09 Sept 2026Go / Python / TypeScriptEasy

Complement of Base 10 Integer

Flip every significant bit in a nonnegative integer's binary representation.

Build an all-ones mask covering the number's significant bits and XOR it with the number, treating zero as a one-bit value.

complexity

O(log n) time and O(1) space.

solution files

  • Go complement-of-base-10-integer/solution.go
  • Python complement-of-base-10-integer/solution.py
  • TypeScript complement-of-base-10-integer/solution.ts

Solution files

Gocomplement-of-base-10-integer/solution.go
package main

func bitwiseComplement(n int) int {
	if n == 0 {
		return 1
	}
	mask := 1
	for mask <= n {
		mask <<= 1
	}
	return (mask - 1) ^ n
}
Pythoncomplement-of-base-10-integer/solution.py
class Solution:
    def bitwiseComplement(self, n: int) -> int:
        if n == class="syntax-number">0: return class="syntax-number">1
        mask = class="syntax-number">1
        while mask <= n: mask <<= class="syntax-number">1
        return (mask - class="syntax-number">1) ^ n
TypeScriptcomplement-of-base-10-integer/solution.ts
function bitwiseComplement(n: number): number {
  if (n === class="syntax-number">0) return class="syntax-number">1;
  let mask = class="syntax-number">1;
  while (mask <= n) mask <<= class="syntax-number">1;
  return (mask - class="syntax-number">1) ^ n;
}