Reverse Integer
2018-05-21 本文已影响0人
帽子和五朵玫瑰
Given a 32-bit signed integer, reverse digits of an integer.
Example 1:
Input: 123
Output: 321
Example 2:
Input: -123
Output: -321
Example 3:
Input: 120
Output: 21
Note:
Assume we are dealing with an environment which could only store integers within the 32-bit signed integer range: [−231, 231 − 1]. For the purpose of this problem, assume that your function returns 0 when the reversed integer overflows.
public int reverse(int x) {
try {
if(x>0) {
String s = Integer.toString(x);
StringBuffer out = new StringBuffer() ;
for(int i=s.length()-1;i>=0;i--) {
out.append(s.charAt(i));
}
return Integer.valueOf(out.toString());
}else {
x=-x;
String s = Integer.toString(x);
StringBuffer out = new StringBuffer() ;
for(int i=s.length()-1;i>=0;i--) {
out.append(s.charAt(i));
}
return -Integer.valueOf(out.toString());
}
}catch(Exception e) {
return 0;
}
}
注意:反转时,数值可能会超过int数据类型的最大值