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)

        
相关推荐
2301_76628344几秒前
MySQL数据误删除后如何快速恢复_基于binlog日志的闪回操作
jvm·数据库·python
duke8692672141 分钟前
Bootstrap中常用的文本颜色、背景颜色及边框色类
jvm·数据库·python
alxraves3 分钟前
超声诊断图像的关键算法概述
算法·安全·健康医疗·制造·信号处理
m0_740352426 分钟前
React 中的渲染(Rendering)机制详解.txt
jvm·数据库·python
张小凡vip7 分钟前
python单元测试详解
开发语言·python·单元测试
mask哥7 分钟前
15种算法模式java实现详解
java·算法·力扣
weixin_444012937 分钟前
WooCommerce 用户登录状态控制元素显隐的 CSS 实现方案
jvm·数据库·python
kexnjdcncnxjs8 分钟前
CSS Grid布局如何实现固定页脚效果_利用网格高度视口百分比单位
jvm·数据库·python
若尘7978 分钟前
数学idea的重构
算法·职场和发展·机器人
思茂信息8 分钟前
CST可重构雷达吸波器设计与仿真
网络·算法·平面·智能手机·重构·cst·电磁仿