Java实现 LeetCode 421 数组中两个数的最大异或值

421. 数组中两个数的最大异或值

给定一个非空数组,数组中元素为 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.
PS:
前缀树

class Solution {
   
      
    class TrieNode {
   

        TrieNode zero;

        TrieNode one;

        int val;

        TrieNode() {
   

        }
    }

    class Trie {
   

        TrieNode root;

        Trie() {
   
            root = new TrieNode();
        }

        void insert(int num) {
   
            TrieNode node 

你可能感兴趣的:(LeetCode,数组中两个数的最大异或值,Java,前缀树)