[LeetCode 190] Reverse Bits
LeetCode 190 (Java)
[Reverse Bits] 문제 풀이
[LeetCode 190] Reverse Bits
Description
Reverse bits of a given 32 bits signed integer.
Example 1
- Input: n = 43261596
- Output: 964176192
- Explanation:
| Integer | Binary |
|---|---|
| 43261596 | 00000010100101000001111010011100 |
| 964176192 | 00111001011110000010100101000000 |
Example 2
- Input: n = 2147483644
- Output: 1073741822
- Explanation:
| Integer | Binary |
|---|---|
| 2147483644 | 01111111111111111111111111111100 |
| 1073741822 | 00111111111111111111111111111110 |
Constraints
0 <= n <= 2^31 - 2nis even.
Code
내 제출
1
2
3
4
5
6
7
8
9
10
11
class Solution {
public int reverseBits(int n) {
int ans = 0;
for (int i = 0; i < 32 && n != 0; ++i) {
ans |= (n & 1) << (31 - i);
n >>>= 1;
}
return ans;
}
}
| Runtime | Memory |
|---|---|
| 0 ms | 40.9 MB |
다른 풀이
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Solution {
public int reverseBits(int n) {
int ans=0;
for(int i=0;i<32;i++){
//first ateking last bit by and opearting then shidting the ans bit and doing or
ans=(n&1) | ans<<1;
//going to thennext bit
n=n>>1;
}
return ans;
}
}
Reference
- https://github.com/doocs/leetcode/blob/main/solution/0100-0199/0190.Reverse%20Bits/Solution.java
This post is licensed under CC BY 4.0 by the author.
