今天继续刷LeetCode,第190题,将一个32位二进制数反转
分析:
既然是二进制数,那么可以通过位运算的方式解决问题。反转二进制数,可以从后往前遍历,将最后一位作为输出的第一位,最后第二位作为输出的第二位,知道遍历完所有位。
问题:
1、位运算的应用,与、或、非等
附上代码:
class Solution {
public:
uint32_t reverseBits(uint32_t n) {
uint32_t result=0;
for(int i=0;i<32;i++)
{
result<<=1;
result=result|(n&1);
n>>=1;
}
return result;
}
};