leetcode 190. 颠倒二进制位(位运算)
颠倒给定的 32 位无符号整数的二进制位。
提示:
请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是相同的。
在 Java 中,编译器使用二进制补码记法来表示有符号整数。因此,在上面的 示例 2 中,输入表示有符号整数 -3,输出表示有符号整数 -1073741825。
进阶:
如果多次调用这个函数,你将如何优化你的算法?
示例 1:
输入: 00000010100101000001111010011100
输出: 00111001011110000010100101000000
解释: 输入的二进制串 00000010100101000001111010011100 表示无符号整数 43261596,
因此返回 964176192,其二进制表示形式为 00111001011110000010100101000000。
解题思路
把n从右到左的位数逐个读出,将读出来的位数从左到右加入res中
代码
public class Solution {// you need treat n as an unsigned valuepublic int reverseBits(int n) {int res=0;for(int i=0;i<32;i++){res<<=1;res+=(n&1);n>>=1;}return res;}
}
leetcode 190. 颠倒二进制位(位运算)相关推荐
- leetcode#190 颠倒二进制位
leetcode#190 颠倒二进制位 题目: 颠倒给定的 32 位无符号整数的二进制位. 示例: 输入: 00000010100101000001111010011100 输出: 001110010 ...
- java二进制反转_Java实现 LeetCode 190 颠倒二进制位
190. 颠倒二进制位 颠倒给定的 32 位无符号整数的二进制位. 示例 1: 输入: 00000010100101000001111010011100 输出: 0011100101111000001 ...
- leetcode 190. 颠倒二进制位
颠倒给定的 32 位无符号整数的二进制位. 示例 1: 输入: 00000010100101000001111010011100 输出: 0011100101111000001010010100000 ...
- Leetcode 190. 颠倒二进制位 解题思路及C++实现
解题思路: 使用移位运算和与运算,将32位二进制数n中的每一位取出来,然后将取出的0或1相应地进行右移操作,最终加和得到结果. 下面的程序中,循环执行32次,每一次循环,得到n的第 i 位数,即 通过 ...
- [leetcode]190. 颠倒二进制位
class Solution {public:uint32_t reverseBits(uint32_t n) {bitset<32>temp(n); //左边是低位,temp[0]是二进 ...
- 【Leetcode】[190] 颠倒二进制位
[Leetcode][190] 颠倒二进制位 Author: Xin Pan Date: 2022.3.13 题目 原题链接 颠倒给定的 32 位无符号整数的二进制位. 解法 考虑使用位运算来做,因为 ...
- 【LeetCode】妙用位运算解题
[LeetCode]妙用位运算解题 文章目录 [LeetCode]妙用位运算解题 交替位二进制数★ 插入★ 数字范围按位与★★ 比特位计数★★ 下一个数★★ 消失的两个数字★★★ 修改后的最大二进制字 ...
- LeetCode刷题:位运算(找不同 和 只出现一次的数字)
1.常见的位运算 按位与&:(1&1=1,1&0=0,0&1=0,0&0=0); 按位或 | : (1 | 1=1,1 | 0=1,0 | 1=1,0 | 0= ...
- 【LeetCode】190. 颠倒二进制位 easy / bitset / stoul
简单题现在目标25分钟吧:中等题一个小时吧. 重点:input: 无符号整型,output: 无符号整型. 颠倒:是指首位颠倒,而不是01颠倒 stoul(str, nullptr, 2) 第三个参数 ...
最新文章
- Android之Android实现浮层的上下滑动(支持内部添加View)
- 故障排错-解决迅雷播放器在Windows 10中长时间停止响应
- 【Groovy】编译时元编程 ( 编译时方法注入 | 使用 buildFromSpec、buildFromString、buildFromCode 进行方法注入 )
- NIO:channel、buffer、状态变量、socket、charset
- ajax返回不刷新页面,Jquery ajax不刷新页面提交action取得返回值
- zipkin server 数据持久化问题
- 初探System.Threading.Channels
- Jarvis:一个值得关注的多模态端到端人机对话框架,针对所有行业适配
- BeanFactory 简介以及它 和FactoryBean的区别
- Fast Fourier Transform
- 2017最后两个半月的安排
- json字符串-单、双引号
- 给计算机添加网络打印机驱动,详细教您电脑怎么安装打印机驱动
- 上海python暑假培训班
- Win10 1607 频繁断网,迅雷断网以及迅雷下载崩溃解决方案
- win7磁盘清理_Win7系统使用久变慢怎么办?Windows7系统优化方法
- 什么是PING值,PING值的计算方法
- 21个令程序员泪流满面的瞬间 ...
- 淘宝吱口令效果实现,获取系统剪贴板内容
- 关于 css 中的转换属性,CSS3中的transform转换属性