給出一個 32 位的有符號整數(shù)齿尽,你需要將這個整數(shù)中每位上的數(shù)字進行反轉(zhuǎn)负拟。
示例 1:
輸入: 123
輸出: 321
示例 2:
輸入: -123
輸出: -321
示例 3:
輸入: 120
輸出: 21
注意:
假設(shè)我們的環(huán)境只能存儲得下 32 位的有符號整數(shù)项炼,則其數(shù)值范圍為 [?231, 231 ? 1]揭厚。請根據(jù)這個假設(shè),如果反轉(zhuǎn)后整數(shù)溢出那么就返回 0救崔。
C++
class Solution {
public:
int reverse(int x) {
long res = 0;
while (x != 0) {
res = 10 * res + x % 10;
x /= 10;
}
return (res > INT_MAX || res < INT_MIN) ? 0 : res;
}
};
常量INT_MAX和INT_MIN分別表示最大、最小整數(shù)捏顺,定義在頭文件limits.h中
INT_MAX = 2^31-1六孵,INT_MIN= -2^31.