[LeetCode] 反轉整數
阿新 • • 發佈:2018-10-28
class cat exceptio 返回 reverse string 沒有 值範圍 etc
題目:
給定一個 32 位有符號整數,將整數中的數字進行反轉。 示例 1: 輸入: 123 輸出: 321 示例 2: 輸入: -123 輸出: -321 示例 3: 輸入: 120 輸出: 21 註意: 假設我們的環境只能存儲 32 位有符號整數,其數值範圍是 [?231, 231 ? 1]。根據這個假設,如果反轉後的整數溢出,則返回 0。
思路:
我沒有想更多的辦法,因為以前用過StringBuffer裏面的reserve方法,索性這裏也試試
反轉之後聽過Integer.parseInt轉為整數,然後catch異常,有異常就說明溢出,返回0
代碼:
int t = Math.abs(x); StringBuffer s = new StringBuffer(); s.append(t); int a = x < 0?-1:1; try { a = a * Integer.parseInt(s.reverse().toString()); }catch (Exception e){ return 0; } return a;
效果還不錯,30ms
[LeetCode] 反轉整數