leetcode:面试题 05.07. 配对交换(python3解法)

难度:简单

配对交换。编写程序,交换某个整数的奇数位和偶数位,尽量使用较少的指令(也就是说,位0与位1交换,位2与位3交换,以此类推)。

示例1:

复制代码
 输入:num = 2(或者0b10)
 输出 1 (或者 0b01)

示例2:

复制代码
 输入:num = 3
 输出:3

提示:

  1. num的范围在[0, 2^30 - 1]之间,不会发生整数溢出。

题解:

python 复制代码
class Solution:
    def exchangeBits(self, num: int) -> int:
        if num == 1:
            return 2
        n = bin(num).split('b')[1]
        list_n = list(n)
        
        if len(n) % 2 == 1:
            list_n = ['0'] + list_n
        for i in range(0,len(list_n)-1,2):
            list_n[i],list_n[i+1] = list_n[i+1],list_n[i]
    
        return int("".join(['0b']+list_n),2)

        
相关推荐
dapeng2870几秒前
使用Fabric自动化你的部署流程
jvm·数据库·python
重生之我是Java开发战士2 分钟前
【广度优先搜索】队列:N叉树的层序遍历,二叉树的锯齿形层序遍历,二叉树的最大宽度,在每个树行中找最大值
数据结构·算法·leetcode·广度优先
qq_4160187214 分钟前
移动平台C++开发指南
开发语言·c++·算法
站大爷IP15 分钟前
使用 Python 实现 Word 文档文本格式化全解析
python
AI-小柒22 分钟前
DataEyes 聚合平台 + Claude Code Max 编程实战
android·开发语言·人工智能·windows·python·macos·adb
王璐WL22 分钟前
【C++】string的经典算法题
开发语言·c++·算法
SUBMAIL赛邮云通信23 分钟前
如何用Python调用SUBMAIL SMS API发送国际短信
python
闻缺陷则喜何志丹23 分钟前
【动态规划】P8591 『JROI-8』颅脑损伤 2.0|普及+
c++·算法·动态规划·洛谷
阿贵---29 分钟前
C++中的工厂模式高级应用
开发语言·c++·算法
2401_8747325330 分钟前
构建一个桌面版的天气预报应用
jvm·数据库·python