LeetCode7. 反轉整數
阿新 • • 發佈:2018-12-14
給定一個 32 位有符號整數,將整數中的數字進行反轉。
示例 1:
輸入: 123 輸出: 321
示例 2:
輸入: -123 輸出: -321
示例 3:
輸入: 120 輸出: 21
注意:
假設我們的環境只能儲存 32 位有符號整數,其數值範圍是 [−231, 231 − 1]。根據這個假設,如果反轉後的整數溢位,則返回 0。
思路:
class Solution { public int reverse(int x) { if(x>0){ //x>0的情況 String str=Integer.toString(x); String s=reverseString(str); try{ return Integer.parseInt(s); }catch (NumberFormatException e){ //字串轉換成int整數異常,返回0 return 0; } }else if(x<0){ //x<0的情況 x=Math.abs(x); String str=Integer.toString(x); String s=reverseString(str); s="-"+s; try{ return Integer.parseInt(s); }catch (NumberFormatException e){ return 0; } } return 0; //x=0的情況 } //反轉字串 public String reverseString(String str){ char ch[]=str.toCharArray(); int i,j; for(i=0,j=ch.length-1;i<(ch.length-1)/2+1;i++,j--){ char tmp=ch[j]; ch[j]=ch[i]; ch[i]=tmp; } return new String(ch); } }