LeetCode:1720. 解码异或后的数组190. 颠倒二进制位

Posted 南岸青栀*

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode:1720. 解码异或后的数组190. 颠倒二进制位相关的知识,希望对你有一定的参考价值。

1720. 解码异或后的数组

在这里插入图片描述

class Solution:
    def decode(self, encoded: List[int], first: int) -> List[int]:

        '''
        例子:
        101^011 = 110 101^110 = 011
        a^b^b = a 异或的性质
        '''
        arr = [first]
        for i in range(len(encoded)):
            arr.append(arr[-1]^encoded[i])
        return arr

190. 颠倒二进制位

在这里插入图片描述

在这里插入图片描述
法1:位运算,循环遍历

class Solution:
    def reverseBits(self, n: int) -> int:
        #位运算
        res = 0
        for i in range(32):
            res = (res << 1) | (n & 1)
            n>>=1
        return res 

法2:转换为字符串进行操作

class Solution:
    def reverseBits(self, n: int) -> int:
		
        n = bin(n)[2::][::-1]
        for i in range(32-len(n)):
            n += "0"
        return int(n,2)

以上是关于LeetCode:1720. 解码异或后的数组190. 颠倒二进制位的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode1720. 解码异或后的数组(C++)

LeetCode1720. 解码异或后的数组(C++)

LeetCode:1720. 解码异或后的数组190. 颠倒二进制位

LeetCode1720. 解码异或后的数组; 剑指offer21/22/23/24

我用java刷 leetcode 1720. 解码异或后的数组

我用java刷 leetcode 1734. 解码异或后的排列