Reverse Integer -- LeetCode
阿新 • • 發佈:2018-11-16
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow
也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!
原題連結: http://oj.leetcode.com/problems/reverse-integer/這道題思路非常簡單,就是按照數字位反轉過來就可以,基本數字操作。但是這種題的考察重點並不在於問題本身,越是簡單的題目越要注意細節,一般來說整數的處理問題要注意的有兩點,一點是符號,另一點是整數越界問題。程式碼如下:
public int reverse(int x) { if(x==Integer.MIN_VALUE) return 0; int num = Math.abs(x); int res = 0; while(num!=0) { if(res>(Integer.MAX_VALUE-num%10 )/10) return 0; res = res*10+num%10; num /= 10; } return x>0?res:-res;}
上面的程式碼為了後面方便處理,先將數字轉為正數。注意Integer.MIN_VALUE的絕對值是比Integer.MAX_VALUE大1的,所以經常要單獨處理。如果不先轉為正數也可以,只是在後面要對符號進行一下判斷。這種題目考察的就是數字的基本處理,面試的時候儘量不能錯,而且對於corner case要儘量進行考慮,一般來說都是面試的第一道門檻。