题目分析:常规解法,实在不知道如何优化了。
1 class Solution { 2 public: 3 uint32_t reverseBits(uint32_t n) 4 { 5 uint32_t m = 0; 6 for (uint32_t i = 1; i != 0; i <<= 1) 7 { 8 m <<= 1; 9 if (n & 1) 10 { 11 m |= 1; 12 } 13 n >>= 1; 14 } 15 16 return m; 17 } 18 };
for循环中i!=0我认为用的比较巧妙,用这个方法你是可以测试uint32_t的位数的。当然本题你是可以把uint32_t当32位使用的,如果题目没告诉实参为32位整数,你必须要测试实参的实际位数。
时间: 2024-10-18 02:19:05