long reverse(long x)
{
long reservation=0;
while(x!=0)
{
reservation=reservation*10+x%10;
x=x/10;
}
if(reservation<2147483648&&reservation>-2147483648)
\\注意有符号的32bits整数的范围
return reservation;
else
{
return 0;
}
}
之前一直在思考如果给你一个大整数,如何把这个给定的大整数分解成一个一个的数字。后来做了这道题给我很大的启发。因为我开始的想法是想把这个数转换成字符串的方法来实现这道题的。其实要把一个大整数拆分成一个个数只需要用到取余(%)和取整(/)就可以了。
先对这个数取余(x%10)便可以得到最后一位数,然后再取整(x/10)得到去掉最后一位数之后的数,然后不停地重复这个步骤就可以把这个大整数拆成一个一个的整数。