題目:
給定一個(gè)范圍為 32 位 int 的整數(shù),將其顛倒。
例 1:
輸入: 123
輸出: 321
例 2:
輸入: -123
輸出: -321
例 3:
輸入: 120
輸出: 21
思路:
用StringBuffer也很基礎(chǔ)了,但是有個(gè)問(wèn)題是int太大了容易溢出。問(wèn)題里說(shuō)溢出則一律取0,那就很簡(jiǎn)單了。寫(xiě)個(gè)異常捕獲,出NumberFormatException異常固定輸出0。
代碼:
public class Solution007 {
public static int reverse(int x) {
int result;
StringBuffer sb = new StringBuffer();
sb.append(x);
sb.reverse();
try {
if (x>=0){
result = Integer.valueOf(sb.toString());
}else {
result = Integer.parseInt(sb.substring(0,sb.length()-1).toString());
result = 0 - result;
}
}catch (NumberFormatException e){
result = 0;
}
return result;
}
public static void main(String[] args) {
System.out.println(reverse(1534236469));
}
}