描述
将一个整数中的数字进行颠倒,当颠倒后的整数溢出时,返回 0 (标记为 32 位整数)。
您在真实的面试中是否遇到过这个题?
是
样例
给定 x = 123
,返回 321
给定 x = -123
,返回 -321
我开始写的时候,天真的以为把二进制数反转即可,事实上根本不是这样子的。。。
class Solution {
public:
/**
* @param n: the integer to be reversed
* @return: the reversed integer
*/
int reverseInteger(int n) {
// write your code here
long long res = 0;
while (n != 0) {
res = 10 * res + n % 10;
n /= 10;
}
return (res < INT_MIN || res > INT_MAX) ? 0 : res;
}
};