给定一个 32 位有符号整数,将整数中的数字进行反转. 示例 1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: 21 解题思路:利用最后一位是翻转后的第一位.取到最后一位后,然后利用这一位的十进制表示法可以得到这一位在最高位时表示的整数.然后每一位的表示的整数相加就是最后翻转的整数.在本算法中需要注意的有两点:1负的整数数字位数少一位 2负整数对10进行求返回的是负数.math.pow(x,y)表示x的y次幂 代码: class sol tion { p blic int reverse(int x) { long a = 0; int b =0; if(x=0){ b=(x+"").length;正数 } else{ b=(x+"").length-1;负数有一个负号 } while (x!=0){ for(int i=0;ib;i){ int a1 = x%10;当前最后一位数字 ,负数则显示的是负数-25%10 等于 -5 x=(x-a1)10;把最后一位数字剔除掉的新数字 a += (int) (a1*math.pow(10,b-i-1)); 相当于将每次的最后一位乘以当前位在十进制中的权重.