给定一个int x,交换其二进制的奇数位和偶数位,并返回交换后的数int。
10
返回:5
class Exchange: def exchangeOddEven(self, x): string = bin(x).replace("0b", "").rjust(32, "0") return int("".join(map(lambda c: string[c + 1] + string[c], range(0, 32, 2))), 2)
# -*- coding:utf-8 -*- class Exchange: def exchangeOddEven(self, x): return ((x & 0xaaaaaaaa) >> 1) | ((x & 0x555555555) << 1)
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题