1. 程式人生 > >Reverse Integer -- LeetCode

Reverse Integer -- LeetCode

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!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要儘量進行考慮,一般來說都是面試的第一道門檻。

           

給我老師的人工智慧教程打call!http://blog.csdn.net/jiangjunshow

這裡寫圖片描述