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)

        
相关推荐
Oneshot6 分钟前
DLX(Dancing Links)算法详解:求解数独最快的算法
算法
用户298698530149 分钟前
用 Python 自动化把 JavaScript 代码转换为 Word 文档
javascript·python·api
用户0190275816115 分钟前
AlphaFeed 标的池(universes)全解:CN_Stock / CN_ETF 与权限边界
python
文丑颜不良啊15 分钟前
LeetCode2541~2560题目解析
java·leetcode
青少儿编程课堂37 分钟前
蓝桥杯青少组图形化 + 全国青少年信息素养大赛 + 电子学会Scratch考级:校园连连看解析
c++·python·算法·bfs·信息学竞赛
kongdong1 小时前
Hikyuu | RSI均值回归交易策略实现
算法·均值算法·回归·量化交易·交易策略·hikyuu
用户0332126663671 小时前
如何使用 Python 将 JSON 转换为 Excel
python·excel
小王C语言1 小时前
优选算法:分治-归并排序
算法
小小张说故事1 小时前
Python 的切片到底切了什么:拆开 slice 对象、负步长和 __getitem__
python
非优秀程序员12 小时前
第05章 播放器大战,暴风、快播与那一夜|《互联网产品恩仇录》
算法