整数反转与回文数问题
将整数最高位变为最低位,对称反转。反转后的数字与原数字相等即为回文数。
整数反转
初始思路
将数字转换为字符串数组,数组反转 。利用 StringBuilder 的reverse函数。
这种方法效率并不高,但容易理解与思考
优化题解
考虑到每一位数字之间是10进制的关系,可以将数字看做一个栈,利用取余(%10)得到顶部数据。第一个数字是个位数字,第二个数字是个位数字乘以10加上十位数字,依次迭代可以得到反转数字。
- 注意反转的时候可能会产生溢出的数字,即 当数字乘以10大于最大值,这种情况返回0;
class Reverse{
public int reverse(int x){
int rev = 0;
while(x > 0){