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)

        
相关推荐
qq_65436698几秒前
SQL嵌套查询中的变量传值_优化存储过程逻辑
jvm·数据库·python
m0_748920363 分钟前
持久化存储如何与后端接口同步?解决本地缓存与数据库不一致痛点
jvm·数据库·python
qq_330037994 分钟前
Python如何安装特定架构包_32位与64位系统兼容性处理
jvm·数据库·python
子午4 分钟前
蔬菜识别~Python+深度学习+卷积网络算法+图像识别+2026原创+蔬菜识别
python·深度学习·算法
测试19984 分钟前
软件测试之持续集成
自动化测试·软件测试·python·功能测试·测试工具·测试用例·持续集成
6Hzlia5 分钟前
【Hot 100 刷题计划】 LeetCode 155. 最小栈 | C++ 打包状态法 (最优雅的 O(1) 检索)
java·c++·leetcode
子午6 分钟前
文本情感识别系统~Python+textCNN算法+深度学习+人工智能
人工智能·python·算法
我是无敌小恐龙12 分钟前
Java SE 零基础入门 Day02 运算符与流程控制超详细笔记
java·数据结构·spring boot·笔记·python·spring·spring cloud
2401_8836002513 分钟前
Electron 中正确实现主进程异步操作的 Renderer 端回调机制
jvm·数据库·python
jrlong15 分钟前
HelloAgents 进阶篇 task03
java·前端·python