Hi, this is Shunchi!

  • Home

  • Tags0

  • Archives267

  • Categories0

  • Curricula

  • DSA

  • LeetCode_Notes

  • Interviews

  • General

  • Resume

190. Reverse Bits

Posted on 2020-05-26 | Edited on 2021-01-22

https://leetcode.com/problems/reverse-bits/

Approach 1: Bit by Bit\
Explanation

1
2
3
4
5
6
7
8
9
10
11
12
public class Solution {
// you need treat n as an unsigned value
public int reverseBits(int n) {
int res=0;
for(int i=0;i<32;i++){
res+=n&1;
n>>>=1;
if(i<31) res<<=1;
}
return res;
}
}

Approach 3: Mask and Shift

1
2
3
4
5
6
7
8
9
10
11
public class Solution {
// you need treat n as an unsigned value
public int reverseBits(int n) {
n = n >>> 16 | n << 16;
n = (n & 0xff00ff00) >>> 8 | (n & 0x00ff00ff) << 8;
n = (n & 0xf0f0f0f0) >>> 4 | (n & 0x0f0f0f0f) << 4;
n = (n & 0xcccccccc) >>> 2 | (n & 0x33333333) << 2;
n = (n & 0xaaaaaaaa) >>> 1 | (n & 0x55555555) << 1;
return n;
}
}

<1…192193194…267>
ShunchiZhou

ShunchiZhou

267 posts
RSS
GitHub E-Mail Gitbook Linkedin
© 2024 ShunchiZhou
Powered by Hexo v5.4.0
|
0%