码迷,mamicode.com
首页 > 其他好文 > 详细

[LC] 7. Reverse Integer

时间:2019-11-17 10:33:14      阅读:62      评论:0      收藏:0      [点我收藏+]

标签:you   problem   solution   return   UNC   hat   class   returns   note   

Given a 32-bit signed integer, reverse digits of an integer.

Example 1:

Input: 123
Output: 321

Example 2:

Input: -123
Output: -321

Example 3:

Input: 120
Output: 21

Note:
Assume we are dealing with an environment which could only store integers within the 32-bit signed integer range: [−231,  231 − 1]. For the purpose of this problem, assume that your function returns 0 when the reversed integer overflows.

 

Solution 1: comparison to handle overflow

class Solution {
    public int reverse(int x) {
        int res = 0;
        while (x != 0) {
            int cur = res;
            res = 10 * res + x % 10;
            if (cur != res / 10) {
                return 0;
            }
            x /= 10;
        }
        return res;
    }
}

 

Solution 2: use Long to handle overflow

class Solution {
    public int reverse(int x) {
        long res = 0;
        while (x != 0) {
            res = 10 * res + x % 10;
            if (res > Integer.MAX_VALUE || res < Integer.MIN_VALUE) {
                return 0;
            }
            x /= 10;
        }
        return (int)res;
    }
}

 

[LC] 7. Reverse Integer

标签:you   problem   solution   return   UNC   hat   class   returns   note   

原文地址:https://www.cnblogs.com/xuanlu/p/11875142.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!