正负号没有影响,反正都是while(x!=0). 依次摘下末位然后乘10,再加末位数,如此循环至x=0;
值得注意的是定义返回值时不能用int,因为可能会越界,比如一个前小后大的数,反转之后就超出了最大值限制,就不是原值了
int reverse(int x ) { int min = 0x80000000, max = 0x7fffffff; double res = 0; //此处不能写int while(x != 0){ res = res * 10 + x % 10; x = x / 10; } if(res >= min && res <= max) return res; else return 0; }