将一个整数颠倒,例123颠倒为321,-123颠倒为-321。int的数值大小可能会溢出,如果溢出则输出为0。
思路:利用double做类型转换,如果溢出再输出0。将数字位存在堆栈里即可以实现反向。注意点在于,当输入为-2147483648时,没法通过绝对值存放在int中。
改进:在上面的做法中,我忘记了负数也是同样可以取余的,所以去掉了绝对值的部分。
思路2:不利用堆栈,利用ans*=10的方法去计算,就将两遍循环放在一遍循环里。
将一个整数颠倒,例123颠倒为321,-123颠倒为-321。int的数值大小可能会溢出,如果溢出则输出为0。
思路:利用double做类型转换,如果溢出再输出0。将数字位存在堆栈里即可以实现反向。注意点在于,当输入为-2147483648时,没法通过绝对值存放在int中。
改进:在上面的做法中,我忘记了负数也是同样可以取余的,所以去掉了绝对值的部分。
思路2:不利用堆栈,利用ans*=10的方法去计算,就将两遍循环放在一遍循环里。