LeetCode-Revers_Bits
题目:
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相关推荐
- leetcode 5. Longest Palindromic Substring 字符串中的最长回文数 逐步从O(n^2)优化至线性时间
题目 解析 思路一 暴力解法 思路二 指针+最大长度 思路3 由中间至两边找回数 思路4 Manacher's algorithm 线性时间 参考文档 题目 链接 给定一个字符串 s,找到 s 中最长 ...
- LeetCode 10. Regular Expression Matching python特性、动态规划、递归
前言 本文主要提供三种不同的解法,分别是利用python的特性.动态规划.递归方法解决这个问题 使用python正则属性 import reclass Solution2:# @return a bo ...
- leetcode Longest Substring with At Most Two Distinct Characters 滑动窗口法
题目解析 代码如下 题目解析 这一题是一道会员的题目,题目介绍如下: Given a string, find the length of the longest substring T that c ...
- leetcode 3. Longest Substring Without Repeating Characters 最长非重复子串的长度 滑动窗口法
题目链接 根据我们之前介绍的滑动窗口法的解法: 滑动窗口法详解 leetcode 438. Find All Anagrams in a String 滑动窗口法 这题,我们不难解决,使用之前的模板. ...
- leetcode:2680 Remove Duplicates from Sorted Array 删除数组中的重复元素
leetcode:26 对数组元素进行去重,使得原数组重复元素最多保留1个 限制: 我们不可以额外分配数组,必须保持空间复杂度为O(1) 这个并不难实现: class Solution(object) ...
- LeetCode简单题之二进制表示中质数个计算置位
题目 给你两个整数 left 和 right ,在闭区间 [left, right] 范围内,统计并返回 计算置位位数为质数 的整数个数. 计算置位位数 就是二进制表示中 1 的个数. 例如, 21 ...
- LeetCode简单题之删除字符使字符串变好
题目 一个字符串如果没有 三个连续 相同字符,那么它就是一个 好字符串 . 给你一个字符串 s ,请你从 s 删除 最少 的字符,使它变成一个 好字符串 . 请你返回删除后的字符串.题目数据保证答案总 ...
- LeetCode简单题之找出两数组的不同
题目 给你两个下标从 0 开始的整数数组 nums1 和 nums2 ,请你返回一个长度为 2 的列表 answer ,其中: answer[0] 是 nums1 中所有 不 存在于 nums2 中的 ...
- LeetCode中等题之区域和检索 - 数组可修改
题目 给你一个数组 nums ,请你完成两类查询. 其中一类查询要求 更新 数组 nums 下标对应的值 另一类查询要求返回数组 nums 中索引 left 和索引 right 之间( 包含 )的nu ...
- LeetCode简单题之整理字符串
题目 给你一个由大小写英文字母组成的字符串 s . 一个整理好的字符串中,两个相邻字符 s[i] 和 s[i+1],其中 0<= i <= s.length-2 ,要满足如下条件: 若 s ...
最新文章
- LilyPad Arduino可穿戴技术和电子织物控制器板简介
- javaScript基本功001
- webpack/gulp的z-index被改写
- git提交代码到github时出现everything up-to-date,但是代码没有上传成功
- 一步一步配置aspnetdb数据库
- 大流量场景下如何云淡风轻地进行线上发布?
- 学python开发必须要会wsgi么_学python着几个要搞清楚WSGI和uWSGI区别
- 帆软助力惠科集团产值提升1%以上,带来上亿元数据价值
- 压测|关于PHP7和5.6的压测对比
- Redis的常用JavaAPI(Jedis)实现
- python实战===用python识别图片中的中文
- 哈工大SCIR Lab | EMNLP 2019 常识信息增强的事件表示学习
- Rob Papen Virtual Effects for Mac - 音频效果器合集
- JVM内存模型及CMS、G1和ZGC垃圾回收器详解
- 万年历打印Java_java实验之打印万年历
- gloox1.0使用Emai格式的账号登录
- 洛谷 U19159 采摘毒瘤
- 自定义拍照时 拍照界面_拍照时图片比例怎么选?比构图还要提前一步的摄影攻略要做好...
- 【电脑配置知识】处理器 CPU
- FTP文件传输协议详解
热门文章
- 使用Apisix打造家庭NAS网关,免公网IP访问
- 扬州全景拍摄,扬州全景图片欣赏
- 华为 linux 重启命令,华为服务器重启管理口
- 盘点阿里云服务器活动【最新活动】2核4G 1M带宽 40G高效云盘 云服务器【19/月,269/年,699/3年】
- 三十岁中国男人的婚姻思考 (显式声明: 这是转载的 @_@;;)
- 扬帆开局|香港电讯与国家(深圳·前海)新型互联网交换中心合作项目正式启动
- 看了这个你的下载速度还会慢???
- PIM-DM--理论详解
- js兼容IE下载图片在本地
- android 版本分布 最新,安卓手机系统版本分布:Android 9.0占比达34%!