Leetcode刷题
整数反转
class Solution {
public:
int reverse(int x) {
int rev=0;
while(x!=0)
{
if(rev < INT_MIN / 10 || rev > INT_MAX / 10)return 0;
int temp = x%10;
x/=10;
rev=rev*10+temp;
}
return rev;
}
};
//rev<(-2147483648)||rev>(2147483648-1)
//在C/C++语言中,不能够直接使用-2147483648来代替最小负数,因为这不是一个数字,而是一个表达式。表达式的意思是对整数21473648取负,但是2147483648已经溢出了int的上限
// 2的31次方2 147 483 648已经溢出 2 147 483 647没有