這個題其實邏輯不難,可是最坑爹的問題是如何判斷整型數的溢出!!!code
class Solution { public: int reverse(int x) { if (INT_MIN == x) return 0; if (x < 0) return -reverse(-x); int result = 0; while (x > 0){ int a = x % 10; x = x / 10; if ((INT_MAX - a) / 10 < result) //若是result*10+a還大於INT_MAX,那就是要溢出了 return 0; result = result * 10 + a; } return result; } };