本文主要是介绍力扣190. 颠倒二进制位,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
位运算
- 思路:
- 逐位颠倒,第 i 位二进制移动到 (31 - i) 位上
-
result |= (n & 1) << (31 - i);
-
- 逐位颠倒,第 i 位二进制移动到 (31 - i) 位上
class Solution {
public:uint32_t reverseBits(uint32_t n) {uint32_t result = 0;for (int i = 0; i < 32 && n > 0; ++i) {result |= (n & 1) << (31 - i);n >>= 1;}return result;}
};
- 据了解,还有空间复杂度为 O(1) 的算法,后续研究;
这篇关于力扣190. 颠倒二进制位的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!