颠倒二进制位

  • 题目
  • 大致思路
  • 代码实现

题目

大致思路

  1. 思路一:将该数与1,10,100… 等32个数做异或运算,判断对应二进制数每一位的数字是0还是1,然后将其存入数组res,最后乘以对应的幂次,即可得到转换后的值。
  2. 思路二:将上述思路一步到位,直接计算到res的对应位置上。

代码实现

package com.immunize.leetcode.reverseBits;public class reverseBits {// 直接计算其反转后的二进制数,注意幂次不要乘错public static int reverseBits(int n) {int count = 0;for (int i = 31; i >= 0; i--) {count = (n >>> i & 1) << (31 - i) | count;}return count;}// 常规思路:将这32位数,分别与1异或运算,如果不为0,则res中对应32-i位数字为1,依次推算出最终的res数组,最后乘以2的i次幂即可。public static int reverseBits2(int n) {int[] re = new int[32];int flag = 1;int index = 31;// 如果用int可能存在溢出问题long result = 0;while (flag != 0) {if ((flag & n) != 0) {re[index] = 1;}flag = flag << 1;index--;}for (int i = 31; i >= 0; i--) {result += re[i] * Math.pow(2, i);}return (int) result;}public static void main(String[] args) {System.out.println(reverseBits(43261596));System.out.println(reverseBits2(43261596));}}

20190903:(leetcode习题)颠倒二进制位相关推荐

  1. leetcode#190 颠倒二进制位

    leetcode#190 颠倒二进制位 题目: 颠倒给定的 32 位无符号整数的二进制位. 示例: 输入: 00000010100101000001111010011100 输出: 001110010 ...

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

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

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

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

  4. leetcode 190. 颠倒二进制位

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

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

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

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

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

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

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

  8. JVAV学习小练习(一)之leetcode习题之接雨水

    leetcode习题之接雨水 一.题目描述 给你一个 m x n 的矩阵,其中的值均为非负整数,代表二维高度图每个单元的高度,请计算图中形状最多能接多少体积的雨水.(图片是从leetcode拉过来的) ...

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

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

最新文章

  1. php 取出多重数组中的一列_PHP获取数组中指定的一列实例
  2. 构造方法的调用顺序和成员变量的初始化时机以及动态绑定
  3. 信息抽取--关键词提取
  4. android studio windows,AndroidStudio的使用(Windows)
  5. hexo-Fluid主题使用手册
  6. linux messages日志为空,自定义linux系统日志格式(messages,cron,ssh等日志格式)
  7. PHPer 面试指南-扩展阅读资源整理
  8. HDU1813:Escape from Tetris(IDA)
  9. 单身税的时代就要来临,你还没有用Python帮你找一个女朋友吗?
  10. shiro 不过滤指定的带参数url_原创干货 | 过滤器设计缺陷导致权限绕过
  11. Java基础篇:重新温习不一样的数组
  12. python折线图实线虚线_python – matplotlib中的虚线而不是缺失值
  13. 软件测试网上订餐系统,星月外卖网上订餐系统软件测试报告(正式).doc
  14. 2020年ESA中国区10m地表覆盖数据的镶嵌、裁剪与分省数据分享
  15. 【论文精读】Robust Alignment for Panoramic Stitching Via an Exact Rank Constraint
  16. 用 JavaScript 和 HTML 制作一个计算器
  17. 服务器摆放需要预留U位么_办公沙发摆放有何讲究?
  18. 计算机教室布置软木,软木照片墙布置,让孩子体验手工的乐趣
  19. 白硕:区块链技术与数据隐私(附视频)
  20. Java WEB开发须知知识点---概况篇

热门文章

  1. IDEA 社区版不支持 Tomcat?一招完美解决!
  2. 5G来了,智能手机们还能拼什么?
  3. 频遭黑客攻击的物联网,这里有妙招!
  4. Google 产品的消亡史!
  5. C++ 的门门道道 | 技术头条
  6. 开源不止,前进不息:2018 OpenInfra Days China 来了!
  7. Rust 逆袭!位列 Stack Overflow 2018 最受欢迎编程语言榜首
  8. mysql插入性能测试
  9. 扩大mysql的cpu_MySQL CPU占用超过100%
  10. 用python画星座_用python做星座介绍程序。