对于这种解法的正确性可以考虑一颗二叉树(父节点u 左子节点2u 右子节点2u + 1),有两个节点,两个节点不断除2最终一定会到他们的lca上.从x自增到y,发现x,y最左边两位是相等的,因此这两位相等的位只有为1时才会对答案产生贡献,这两位其他位会从小的不断自增到大的,因此这些位肯定会出现1,因此答案就是从左向右拆位直到找到第一个不同的位,这之前只有1对答案有贡献,这之后都对答案有贡献。思路:实际上就是求一个区间内的or值,区间为max(0, n - m), n + m。当然也可以直接输出_lg(x)