leetcode#190 颠倒二进制位

题目:

颠倒给定的 32 位无符号整数的二进制位。

示例:
输入: 00000010100101000001111010011100
输出: 00111001011110000010100101000000
解释: 输入的二进制串 00000010100101000001111010011100 表示无符号整数 43261596,因此返回 964176192,其二进制表示形式为 00111001011110000010100101000000。

思路:

1、用ans=0,ans*10+nums[i]逐渐接受每一位。
2、位分治
反转整个二进制,相当于把这个二进制分成左右两部分,然后把这两部分互换就可以了。
对于左右两部分的内部,我们递归的进行相同的互换。
直至最后一步互换奇偶位。

代码:

class Solution
{public:const uint32_t M1 = 0x55555555; // 01010101010101010101010101010101const uint32_t M2 = 0x33333333; // 00110011001100110011001100110011const uint32_t M4 = 0x0f0f0f0f; // 00001111000011110000111100001111const uint32_t M8 = 0x00ff00ff; // 00000000111111110000000011111111uint32_t reverseBits(uint32_t n){n = n >> 1 & M1 | (n & M1) << 1;n = n >> 2 & M2 | (n & M2) << 2;n = n >> 4 & M4 | (n & M4) << 4;n = n >> 8 & M8 | (n & M8) << 8;return n << 16 | n >> 16;}
};

leetcode#190 颠倒二进制位相关推荐

  1. java二进制反转_Java实现 LeetCode 190 颠倒二进制位

    190. 颠倒二进制位 颠倒给定的 32 位无符号整数的二进制位. 示例 1: 输入: 00000010100101000001111010011100 输出: 0011100101111000001 ...

  2. leetcode 190. 颠倒二进制位(位运算)

    颠倒给定的 32 位无符号整数的二进制位. 提示: 请注意,在某些语言(如 Java)中,没有无符号整数类型.在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有 ...

  3. leetcode 190. 颠倒二进制位

    颠倒给定的 32 位无符号整数的二进制位. 示例 1: 输入: 00000010100101000001111010011100 输出: 0011100101111000001010010100000 ...

  4. Leetcode 190. 颠倒二进制位 解题思路及C++实现

    解题思路: 使用移位运算和与运算,将32位二进制数n中的每一位取出来,然后将取出的0或1相应地进行右移操作,最终加和得到结果. 下面的程序中,循环执行32次,每一次循环,得到n的第 i 位数,即 通过 ...

  5. [leetcode]190. 颠倒二进制位

    class Solution {public:uint32_t reverseBits(uint32_t n) {bitset<32>temp(n); //左边是低位,temp[0]是二进 ...

  6. 【Leetcode】[190] 颠倒二进制位

    [Leetcode][190] 颠倒二进制位 Author: Xin Pan Date: 2022.3.13 题目 原题链接 颠倒给定的 32 位无符号整数的二进制位. 解法 考虑使用位运算来做,因为 ...

  7. leetcode 190. Reverse Bits | 190. 颠倒二进制位(移位操作,十进制二进制相互转换,打表法)

    题目 https://leetcode-cn.com/problems/reverse-bits/ 题解 方法1:JDK 自带的 Integer.reverse() 方法源码 /*** Returns ...

  8. 【LeetCode】190. 颠倒二进制位 easy / bitset / stoul

    简单题现在目标25分钟吧:中等题一个小时吧. 重点:input: 无符号整型,output: 无符号整型. 颠倒:是指首位颠倒,而不是01颠倒 stoul(str, nullptr, 2) 第三个参数 ...

  9. 文巾解题 190. 颠倒二进制位

    1 题目描述 2 解题思路 2.1 方法1 字符串倒转 class Solution:def reverseBits(self, n: int) -> int:x=bin(n)[2:] #将整数 ...

最新文章

  1. SOLO: 按位置分割对象
  2. oracle11g 多了个 client,Oracle10g Client Oracle11g DB同时安装发生OCI Error
  3. 傅立叶变换和小波变换入门学习
  4. 机器学习——01、机器学习的数学基础1 - 数学分析
  5. 深度学习资料挑的眼花啦?小夕帮你做选择!
  6. 作者:​王宁(1979-),男,厦门华厦学院副教授、高级工程师。
  7. CentOS7下安装MySQL5.7安装与配置(YUM)
  8. windowsC盘msp文件清理
  9. win7藏文打印部分文字乱码问题处理
  10. 基于Pytorch版yolov5的滑块验证码破解思路
  11. vue实现连接打印机功能
  12. SEO博客外链怎么做?现在的话是注重站内内容还是什么?
  13. 世界观--哲学--抽象--虚无
  14. 谷粒商城项目学-分布式基础
  15. 文笔很差系列1 - 也谈谈AlphaGo
  16. Android JNI --函数调用大全
  17. Camera i2c、常见概念、系统架构简介
  18. java安装路径有要求吗_jdk安装以及Java环境配置
  19. 微信小程序 滑块视图容器
  20. 百济神州新建苏州创新药物产业化基地启动奠基;大湾区广州泰和肿瘤医院开业 | 医药健闻...

热门文章

  1. cad渐开线画法lisp程序_CAD插件——绘制圆的渐开线
  2. 南昌数学与计算机科学学院,关于南昌大学汪祥教授在线讲学的通知
  3. 《机械制造业智能工厂规划设计》——3.2 机械制造业智能工厂参考模型
  4. Rstudio常用操作
  5. javas:;与javas:void(0)的理解
  6. 打开Word显示“内存或磁盘空间不足,Word无法显示所请求的字体。”
  7. 江西计算机专业技校排名,江西技校一览表
  8. MT6589充电模块浅析
  9. 用IDEA/命令行上传本地项目到码云
  10. 树莓派笔记1:树莓派4B+网线(无网线)+远程打印机+静态IP设置