每日一题之LeetCode 190.颠倒二进制位
题目链接:LeetCode 190. 颠倒二进制位
¶一、题解
题目意思:
将一个32位无符号整数进行反转!
思路:
- 可以从后往前取出该无符号整数的每一位即
n >> 1 & 1
- 然后将结果左移空出最后一位再加上上一步的结果即可,
(res << 1) + (n >> i & 1)
注意:
- 加法优先级高于位运算
- 移位运算高于与或非
时间复杂度:O(1)
空间复杂度:O(1)
¶二、AC代码
参考代码:
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 小牛博客!
评论