当前位置: 代码迷 >> 综合 >> 7. 整数反转java
  详细解决方案

7. 整数反转java

热度:79   发布时间:2024-01-30 17:14:01.0

我的思路是:

如果是正整数,利用%10和/10的方式,不断取出对应位置上的数字,并且赋值到字符串的尾部;最后,Integer.parseInt方法转化为正整数并返回。
如果是负整数,先取绝对值,然后按照%10和/10的方式,不断取出对应位置上的数字,同样添加到字符串上;最后转化为正整数,添加负号并返回。

但是没有考虑到溢出的情况,后来根据官方的思想,了解了溢出的现象,只能把错误处理了,报NumberFormatException异常,表示溢出;

class Solution {public int reverse(int x) {int c=0;String b ="";try{if(x>0){while(x>0) {b=b+x%10;x=x/10;}c = Integer.parseInt(b);}else if(x<0){x=Math.abs(x);while(x>0) {b=b+x%10;x=x/10;}c = Integer.parseInt(b);c=-c;}else{c=0;}}catch(NumberFormatException e){}return c;}
}

 

时间复杂度为O(log10(x)),时间15ms,比较惨。