题目:

Reverse bits of a given 32 bits unsigned integer.

For example, given input 43261596 (represented in binary as 00000010100101000001111010011100), return 964176192 (represented in binary as 00111001011110000010100101000000).

翻译:

对于逆转一个给定的32位的无符号整数类型的每一位。

举例,给定一个输入43261596(用二进制表示为 00000010100101000001111010011100),返回964176192(用二进制表示为00111001011110000010100101000000)。

思路:

我们考虑用位移的方法来解决这个问题,即不断将n(输入)中最后一位赋给result(输出)的第一位,那么对于给定的输入n,先判断n的最后一位是每0还是1,通过每次向右位移一次并与1(00000000000000000000000000000001)进行‘与’操作。若n的最后一位是0,则‘与’操作后得到0,那么直接将result左移一位,即不断将n的最低位一步一步移到最高位,实现n的逆转;若n的最后一位是1,则‘与’操作后得到1,那么在将result左移一位的同时要‘加1’操作,以表示当前n的最低位为1。

C++代码(编程环境为Visual Studio 2017):

#include "stdafx.h"
#include <iostream>
#include <vector>
using namespace std;class Solution {
public:uint32_t reverseBits(uint32_t n) {uint32_t result=0;for (int i = 0; i < 32; i++) {if (n & 1 == 1) {result=(result << 1) + 1;}else {result = result << 1;}n = n >> 1;}//n = n & 1;//cout << n;return result;}
};
int main()
{Solution s;uint32_t n=43261596;uint32_t result;result=s.reverseBits(n);cout << result;return 0;
}

LeetCode-Revers_Bits相关推荐

  1. leetcode 5. Longest Palindromic Substring 字符串中的最长回文数 逐步从O(n^2)优化至线性时间

    题目 解析 思路一 暴力解法 思路二 指针+最大长度 思路3 由中间至两边找回数 思路4 Manacher's algorithm 线性时间 参考文档 题目 链接 给定一个字符串 s,找到 s 中最长 ...

  2. LeetCode 10. Regular Expression Matching python特性、动态规划、递归

    前言 本文主要提供三种不同的解法,分别是利用python的特性.动态规划.递归方法解决这个问题 使用python正则属性 import reclass Solution2:# @return a bo ...

  3. leetcode Longest Substring with At Most Two Distinct Characters 滑动窗口法

    题目解析 代码如下 题目解析 这一题是一道会员的题目,题目介绍如下: Given a string, find the length of the longest substring T that c ...

  4. leetcode 3. Longest Substring Without Repeating Characters 最长非重复子串的长度 滑动窗口法

    题目链接 根据我们之前介绍的滑动窗口法的解法: 滑动窗口法详解 leetcode 438. Find All Anagrams in a String 滑动窗口法 这题,我们不难解决,使用之前的模板. ...

  5. leetcode:2680 Remove Duplicates from Sorted Array 删除数组中的重复元素

    leetcode:26 对数组元素进行去重,使得原数组重复元素最多保留1个 限制: 我们不可以额外分配数组,必须保持空间复杂度为O(1) 这个并不难实现: class Solution(object) ...

  6. LeetCode简单题之二进制表示中质数个计算置位

    题目 给你两个整数 left 和 right ,在闭区间 [left, right] 范围内,统计并返回 计算置位位数为质数 的整数个数. 计算置位位数 就是二进制表示中 1 的个数. 例如, 21 ...

  7. LeetCode简单题之删除字符使字符串变好

    题目 一个字符串如果没有 三个连续 相同字符,那么它就是一个 好字符串 . 给你一个字符串 s ,请你从 s 删除 最少 的字符,使它变成一个 好字符串 . 请你返回删除后的字符串.题目数据保证答案总 ...

  8. LeetCode简单题之找出两数组的不同

    题目 给你两个下标从 0 开始的整数数组 nums1 和 nums2 ,请你返回一个长度为 2 的列表 answer ,其中: answer[0] 是 nums1 中所有 不 存在于 nums2 中的 ...

  9. LeetCode中等题之区域和检索 - 数组可修改

    题目 给你一个数组 nums ,请你完成两类查询. 其中一类查询要求 更新 数组 nums 下标对应的值 另一类查询要求返回数组 nums 中索引 left 和索引 right 之间( 包含 )的nu ...

  10. LeetCode简单题之整理字符串

    题目 给你一个由大小写英文字母组成的字符串 s . 一个整理好的字符串中,两个相邻字符 s[i] 和 s[i+1],其中 0<= i <= s.length-2 ,要满足如下条件: 若 s ...

最新文章

  1. LilyPad Arduino可穿戴技术和电子织物控制器板简介
  2. javaScript基本功001
  3. webpack/gulp的z-index被改写
  4. git提交代码到github时出现everything up-to-date,但是代码没有上传成功
  5. 一步一步配置aspnetdb数据库
  6. 大流量场景下如何云淡风轻地进行线上发布?
  7. 学python开发必须要会wsgi么_学python着几个要搞清楚WSGI和uWSGI区别
  8. 帆软助力惠科集团产值提升1%以上,带来上亿元数据价值
  9. 压测|关于PHP7和5.6的压测对比
  10. Redis的常用JavaAPI(Jedis)实现
  11. python实战===用python识别图片中的中文
  12. 哈工大SCIR Lab | EMNLP 2019 常识信息增强的事件表示学习
  13. Rob Papen Virtual Effects for Mac - 音频效果器合集
  14. JVM内存模型及CMS、G1和ZGC垃圾回收器详解
  15. 万年历打印Java_java实验之打印万年历
  16. gloox1.0使用Emai格式的账号登录
  17. 洛谷 U19159 采摘毒瘤
  18. 自定义拍照时 拍照界面_拍照时图片比例怎么选?比构图还要提前一步的摄影攻略要做好...
  19. 【电脑配置知识】处理器 CPU
  20. FTP文件传输协议详解

热门文章

  1. 使用Apisix打造家庭NAS网关,免公网IP访问
  2. 扬州全景拍摄,扬州全景图片欣赏
  3. 华为 linux 重启命令,华为服务器重启管理口
  4. 盘点阿里云服务器活动【最新活动】2核4G 1M带宽 40G高效云盘 云服务器【19/月,269/年,699/3年】
  5. 三十岁中国男人的婚姻思考 (显式声明: 这是转载的 @_@;;)
  6. 扬帆开局|香港电讯与国家(深圳·前海)新型互联网交换中心合作项目正式启动
  7. 看了这个你的下载速度还会慢???
  8. PIM-DM--理论详解
  9. js兼容IE下载图片在本地
  10. android 版本分布 最新,安卓手机系统版本分布:Android 9.0占比达34%!