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 <= 231 - 2nis even.
Follow up: If this function is called many times, how would you optimize it?
Solutions
This is a one-liner condensed version of the string-manipulation approach that converts n to a 32-bit padded binary string, reverses the character order using split().reverse().join(), and parses the reversed string back to a decimal integer — achieving the same bit reversal as the longer implementations but in a single expression.
Language: javascript(2026-02-16 09:26)DONE
CPU Performance62.61%
Memory Performance26.85%
/**
* @param {number} n - a positive integer
* @return {number} - a positive integer
*/
var reverseBits = function (n) {
return parseInt(n.toString(2).padStart(32, 0).split('').reverse().join(''), 2);
};