題目:
給你一個 32 位的有符號整數 x
,返回將 x
中的數字部分反轉後的結果。
如果反轉後整數超過 32 位的有符號整數的範圍 [−231, 231 − 1]
,就返回 0。
推導:
程式碼:
class Solution { public: int reverse(int x) { int res = 0; while (x != 0) { int tmp = x % 10; if (res > 214748364 || (res == 214748364 && tmp > 7)) { return 0; } if (res < -214748364 || (res == -214748364 && tmp < -8)) { return 0; } res = res*10 + tmp; x /= 10; } return res; } };