LeetCode - E - 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.

Subscribe to see which companies asked this question

解法

注意溢出問題

實現

class Solution {
public:
    int reverse(int x) {
        long long y = x;
        if(x < 0) y = y * -1;//注意用long long類型代替int
        long long reverse = 0;
        long long max = 2147483647;
        while(y != 0){
            reverse = reverse * 10 + y % 10;
            if((x > 0 && reverse > max) || (x < 0 && reverse > max + 1)) return 0;
            y = y / 10;
        }
        if(x < 0) reverse = reverse * -1;
        return reverse;
    }
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章