7. Reverse Integer
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了7. Reverse Integer相关的知识,希望对你有一定的参考价值。
就是需要考虑溢出。
方法一:
用StringBuilder来reverse,然后直接用Integer.valueOf()来转成int,这个时候如果溢出就会throw exception,所以抓一下就好。
学会使用try&catch
public int reverse(int x) { boolean flag = x < 0; x = Math.abs(x); StringBuilder sb = new StringBuilder(); sb.append(x); int res = 0; try{ res = Integer.valueOf(sb.reverse().toString()); } catch(Exception ex) { } return flag ? -res : res; }
方法二:
用数学方法。
public int reverse(int x) { long res = 0; //long!!! not int!!!!! while(x != 0) { res = res * 10 + x % 10; x /= 10; } if(res > Integer.MAX_VALUE || res < Integer.MIN_VALUE) { return 0; } return (int)res; }
不需要单独考虑正负号.
考虑溢出的话,需要把结果变成long
以上是关于7. Reverse Integer的主要内容,如果未能解决你的问题,请参考以下文章