diff --git a/reverse-bits/prograsshopper.java b/reverse-bits/prograsshopper.java new file mode 100644 index 000000000..2d9eeb61e --- /dev/null +++ b/reverse-bits/prograsshopper.java @@ -0,0 +1,21 @@ +class Solution { + public int reverseBits(int n) { + int[] stack_n = new int[32]; + int i = 0; + while(i < 32){ + stack_n[i] = n % 2; + n /= 2; + i++; + } + + int result = 0; + int scale = 1; + + for(int j=31;j>0;j--){ + result += stack_n[j] * scale; + scale *= 2; + } + + return result; + } +} diff --git a/reverse-bits/prograsshopper.py b/reverse-bits/prograsshopper.py new file mode 100644 index 000000000..20f7ac195 --- /dev/null +++ b/reverse-bits/prograsshopper.py @@ -0,0 +1,15 @@ +class Solution: + def reverseBits(self, n: int) -> int: + stack_n = [] + while len(stack_n) < 32: + stack_n.append((n % 2)) + n //= 2 + + result = 0 + scale = 1 + + while stack_n: + result += stack_n.pop() * scale + scale *= 2 + + return result