LeetCode 7. Reverse Integer

Reverse digits of an integer.

Example1: x = 123, return 321
Example2: x = -123, return -321

click to show spoilers.

Note:
The input is assumed to be a 32-bit signed integer. Your function should return 0 when the reversed integer overflows.

題目要求很簡單,對整數進行反轉。需要注意的一點是,當超出了整型的範圍,即INT_MIN~INT_MAX之間的話,需要返回0。但是y不能直接和INT_MIN以及INT_MAX進行比較。因此需要在對y賦值前與INT_MAX/10以及INT_MIN/10進行比較,如果超出範圍則返回10。代碼實現如下:

class Solution {
public:
    int reverse(int x) {
        int y = 0;
        while(x != 0){
            if(y > INT_MAX/10 || y < INT_MIN/10)
                return 0;
            y = y*10+x%10;
            x = x/10;
        }
        return y;
    }
};



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章