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)

        
相关推荐
三川6981 分钟前
Tkinter库的学习记录08- 容器控件
python
海石3 分钟前
单调栈复健,顺便,牺牲一下吧,空间复杂度!一切献给AC
算法·leetcode
海石4 分钟前
JS击败94%,Hard题想不到动态规划,那就用数组和栈试试
算法·leetcode
c_lb72886 分钟前
近期AI量化工具选择,学习开发执行要分开
人工智能·python
天天进步201511 分钟前
Python全栈项目--校园食堂点餐与推荐系统
开发语言·python
Ulyanov14 分钟前
雷达导引头体制演进、技术特点与数学模型
python·雷达电子对抗·导引头
eybk28 分钟前
写一个可以编制pdf文件的python程序
开发语言·python·pdf
卷无止境33 分钟前
从Python的cryptography库出发,从零开始理解密码学,到构建零信任网络
后端·python
YFJ_mily38 分钟前
**Python 实战:写一个论文 PDF 投稿自检工具|附 IPAT 2026 智能光子学会议征稿信息
人工智能·python·pdf·量子计算·论文投稿·智能光子学
三川69838 分钟前
Tkinter库的学习记录05-文本框Entry
python