public class Solution {
// you need treat n as an unsigned value
public int reverseBits(int n) {
int ret=0;
int cnt=32;
while(cnt>0)
{
ret = ret<<1;
ret = ret|(n & 1);
n = n>>1;
cnt--;
}
return ret;
}
}
通过时间291ms....又是一道位运算的题目...这里没有想到更好的解法,就强行循环了32次(无符号整形32位)将数字reverse了(注意这里的每个数字都要看成完整的32位表示)...
查了一下貌似有更好更高效的解决办法....有机会了解一下...