题目不难,定义为Easy的题。但是需要注意一下题目的一个点
The input is assumed to be a 32-bit signed integer. Your function should return 0 when the reversed integer overflows.
数据的输入假定是32位有符号整形的范围内,但是数据经过翻转之后可能超过了int的数据范围,如果数据超过范围,则需要返回0
以下是我的代码
package leetcode;
/**
* Created by Joe on 2017/9/13.
*/
public class ReverseInteger {
public int reverse(int x) {
String symbol = x >= 0 ? "" : "-";
int num = Math.abs(x);
String numStr = new Integer(num).toString();
String reverseStr = symbol + new StringBuilder(numStr).reverse().toString();
try {
int result = new Integer(reverseStr);
return result;
} catch (Exception e) {
return 0;
}
}
}