LeetCode421 数组中两个数的最大异或值(字典树应用)
题目描述给定一个非空数组,数组中元素为 a0, a1, a2, … , an-1,其中 0 ≤ ai < 231 。找到 ai 和aj 最大的异或 (XOR) 运算结果,其中0 ≤ i, j < n 。你能在O(n)的时间解决这个问题吗?示例:输入: [3, 10, 5, 25, 2, 8]输出: 28解释: 最大的结果是 5 ^ 25 = 28.分析首先将所有数字都转化为2进制,我们可以发现这题有一个明显的贪心思想:要想两数异或值最大,则要尽可能使得两数在高位上相异