现在我们就有 cnt 个 111 用来组成二进制形式的 x,接下来要使 x⊕num1x \oplus num1x⊕num1 的值最小,就应该尽量消掉 nums1 高位的 111 ,考虑三种情况:
当 x的置位数<nums1的置位数x 的置位数 < nums1 的置位数x的置位数<nums1的置位数:从高位开始,尽量让 nums1 中有 111 的位,x 也有.
当 x的置位数=nums1的置位数x 的置位数 = nums1 的置位数x的置位数=nums1的置位数:nums1 中有 111 的位,x 也应该有,此时 x⊕num1=0x \oplus num1 = 0x⊕num1=0 最小.