lintcode-easy-Reverse Integer

Posted 哥布林工程师

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lintcode-easy-Reverse Integer相关的知识,希望对你有一定的参考价值。

Reverse digits of an integer. Returns 0 when the reversed integer overflows (signed 32-bit integer).

 

Given x = 123, return 321

Given x = -123, return -321

这题主要注意一下溢出的可能

public class Solution {
    /**
     * @param n the integer to be reversed
     * @return the reversed integer
     */
    public int reverseInteger(int n) {
        // Write your code here
        long result = 0;
        long buf = n;
        boolean neg = false;
        if(n < 0){
            neg = true;
            buf = -n;
        }
        
        while(buf > 0){
            result = 10 * result + buf % 10;
            buf /= 10;
        }
        
        if(neg)
            result = -result;
        
        if(result > Integer.MAX_VALUE || result < Integer.MIN_VALUE)
            return 0;
        
        return (int)result;
        
    }
}

 

以上是关于lintcode-easy-Reverse Integer的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Decimal.Divide(int, int) 有效,但 (int / int) 无效?

int32、int、int32_t、int8和int8_t的区别

int32,int,int32_t,int8和int8_t之间的区别

int *ptrl=(int*)(&a+1); int *ptr=(int*)((int)a+1);这两个定义有啥区别?

将 int(C::*)(int, char) 类型转换为 int(int, char) 类型

如何将字典字典保存到 UserDefaults [Int:[Int:Int]]?