190. Reverse Bits
来源:互联网 发布:外置光驱盒 mac 编辑:程序博客网 时间:2024/04/30 12:17
Reverse bits of a given 32 bits unsigned integer.
For example, given input 43261596 (represented in binary as 00000010100101000001111010011100), return 964176192 (represented in binary as 00111001011110000010100101000000).
思路:n&1拿到最后一位,然后n>>1右移拿到下一位,把每一位加到一个数上去,再左移动。
class Solution {public: uint32_t reverseBits(uint32_t n) { uint32_t reversed = 0; for(int i = 0; i < 32; i++) { reversed = ((reversed << 1) | (n & 1)); n = n >> 1; } return reversed; }};
uint32_t reverseBits(uint32_t n) { uint32_t reversed = 0; for(int i = 0; i < 31; i++) { reversed |= n & 1; n = n >> 1; reversed <<= 1; } reversed |= n&1; return reversed;
简单版思路:每4位反转一下的结果是可以算出来的,而且有限的,可以先存起来。然后进行8次就可以反转完了。
char tb[16] = {0,8,4,12,2,10,6,14,1,9,5,13,3,11,7,15}; int curr = 0; uint32_t ret = 0; uint32_t msk = 0xF; for(int i = 0; i < 8; i++) { ret = ret << 4; curr = msk&n; ret |= tb[curr]; n = n >> 4; } return ret;
0 0
- 【LeetCode】190.Reverse bits
- LeetCode 190. Reverse Bits
- 190. Reverse Bits
- Leetcode 190. Reverse Bits
- 190. Reverse Bits LeetCode
- 190. Reverse Bits
- 190. Reverse Bits
- 190. Reverse Bits
- LeetCode *** 190. Reverse Bits
- 190. Reverse Bits
- 190. Reverse Bits
- LeetCode 190. Reverse Bits
- 190. Reverse Bits
- 190. Reverse Bits
- Leetcode-190. Reverse Bits
- Leetcode 190. Reverse Bits
- LeetCode-190.Reverse Bits
- [leetcode] 190. Reverse Bits
- USACO 4.2.1 iSap + gap优化
- JAVA实现快速排序
- 从头到尾彻底理解KMP
- NYOJ矩形的个数
- http请求状态码
- 190. Reverse Bits
- ajax 多文件上传
- C语言实现简单的面向对象例子
- 多事之秋
- 华为OJC++编程题001.计算字符串最后一个单词的长度
- css3语法、尺寸与边框
- 协方差的意义和计算公式
- java之setter和gtter
- unity3d培训_003