Python || Trie Solution|| Easy to Understand
\nclass Trie:\n    def __init__(self):\n        self.root={}\n        self.m=0\n    \n    def insert(self,word):\n        node=self.root\n        for ch in word
```\nclass Trie:\n    def __init__(self):\n        self.root={}\n        self.m=0\n    \n    def insert(self,word):\n        node=self.root\n        for ch in word:\n            if ch not in node:\n                node[ch]={}\n            node=node[ch]\n        \n    def compare(self,word,i):\n        node=self.root\n        t=""\n        a,b=\'0\',\'1\'\n        for ch in word:\n            if ch==a and b in node:\n                t+=b\n                node=node[b]\n            elif ch==b and a in node:\n                t+=a\n                node=node[a]\n            else:\n                t+=ch\n                node=node[ch]\n        self.m=max(self.m,int(t,2)^i)\n\nclass Solution:\n    def findMaximumXOR(self, nums: List[int]) -> int:\n        trie=Trie()\n        for i in nums:\n            word="{:032b}".format(i)\n            trie.insert(word)\n        for i in nums:\n            word="{:032b}".format(i)\n            trie.compare(word,i)\n        return trie.m\n```\n**An upvote will be encouraging**
['Bit Manipulation', 'Trie', 'Bitmask', 'Python', 'Python3']