mediumBit ManipulationTrieTrie

Maximum XOR of Two Numbers

mediumTime: O(n)Space: O(n)

Recognize the pattern

maximize XOR of two numbersbinary triegreedy bit choice

Brute force idea

XOR every pair — O(n²).

Better approach

Binary trie (MSB to LSB). For each number, walk trie choosing opposite bit at each level. O(32n).

Key invariant

Opposite bits maximize XOR. Trie enables greedy bit-by-bit maximization in O(32) per number.

Watch out for

Using decimal trie — it's a BINARY trie with 2 children per node.

Trie Pattern