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)

        
相关推荐
2601_957883842 分钟前
2026年9月:专业解决雷神笔记本维修难题
python·电脑
迷途之人不知返5 分钟前
算法系列5:位运算
算法
牢姐与蒯9 分钟前
c++加餐之位图
c++·算法·哈希
Omics Pro22 分钟前
预测性虚拟细胞中显式机理算子
大数据·数据库·人工智能·python·算法·机器学习·自然语言处理
驭渊的小故事24 分钟前
算法实战:滑动窗口、素数枚举与字符串模拟(三道经典题解)
java·算法
秋名RG33 分钟前
Java历代LTS版本新特性详解(代码增强版)
java·开发语言·python
牢姐与蒯34 分钟前
位运算及其oj题
c++·算法
276695829235 分钟前
youdao/有道翻译APP 算法协议分析
开发语言·前端·python·sign·youdao·有道翻译app算法·有道app协议请求
夏天拐跑了西瓜8 小时前
一文入门LangChain:从框架认知到构建你的第一个AI Agent
python·langchain·conda·agent
魔猴疯猿9 小时前
从0到1用Python开发第一个智能体
人工智能·python·深度学习·神经网络·机器学习