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;
}
return result;
}
};
如果需要翻转的数的最后一位是1,则result左移一位,加一。否则只左移一位。最后将n右移一位。