您的位置:首页 > 其它

【LeetCode】190.Reverse bits

2015-03-25 16:10 351 查看
问题:

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).

解答:不存在溢出问题,传入变量逐位左移(为何不能右移见Number of 1 Bits),结果和相应位为1的数进行与操作即可。

代码如下:(通过OJ)

public class Solution {
public int reverseBits(int n) {
int m = 0;
for(int i=0;i<32 && n!=0;i++){
if((n & 0x80000000) != 0)
m |= (1 << i);
n <<= 1;
}
return m;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: