aboutsummaryrefslogtreecommitdiff
path: root/reverse_bits.py
diff options
context:
space:
mode:
Diffstat (limited to 'reverse_bits.py')
-rw-r--r--reverse_bits.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/reverse_bits.py b/reverse_bits.py
new file mode 100644
index 0000000..b72fefa
--- /dev/null
+++ b/reverse_bits.py
@@ -0,0 +1,24 @@
+# 190. Reverse Bits
+
+"""
+reverse the bitof a given 32 bits unsigned integer.
+"""
+
+
+class Solution:
+ # @param n, an integer
+ # @return an integer
+ def reverseBits(self, n):
+ ans = 0
+ for _ in range(32):
+ ans = (ans << 1) + (n & 1)
+ n >>= 1
+ return ans
+
+
+if __name__ == "__main__":
+ obj = Solution()
+ r1 = obj.reverseBits(0b00000010100101000001111010011100)
+ r2 = obj.reverseBits(0b11111111111111111111111111111101)
+ print(r1, "(", bin(r1), ")")
+ print(r2, "(", bin(r2), ")")