858. Mirror Reflection ¶ Time: $O(\log p)$ Space: $O(1)$ C++JavaPython 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15class Solution { public: int mirrorReflection(int p, int q) { while (p % 2 == 0 && q % 2 == 0) { p /= 2; q /= 2; } if (p % 2 == 0) return 2; if (q % 2 == 0) return 0; return 1; } }; 1 2 3 4 5 6 7 8 9 10 11 12 13 14class Solution { public int mirrorReflection(int p, int q) { while (p % 2 == 0 && q % 2 == 0) { p /= 2; q /= 2; } if (p % 2 == 0) return 2; if (q % 2 == 0) return 0; return 1; } } 1 2 3 4 5 6 7 8 9 10 11class Solution: def mirrorReflection(self, p: int, q: int) -> int: while p % 2 == 0 and q % 2 == 0: p //= 2 q //= 2 if p % 2 == 0: return 2 if q % 2 == 0: return 0 return 1