LeetCodeReverse Integer

Posted 你瞅啥

tags:

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

题目如下:

C++代码:

class Solution {
public:
    int reverse(int x) {
        if( overflow(x) == true)
        {  
            return 0;  
        }  
  
        int result = 0;  
          
        while (x!=0)  
        {  
            result = 10*result + x%10;  
            x /= 10;  
        }  
  
        return result;  
    }
private:
    bool overflow(int x)//此题要保证返回的整数位整型,确定的是x是一个整型
    {                   //故要判断x是否小于~(2^31-1),小于则没有越界
        if (x / 1000000000 == 0) // x的绝对值小于1000000000, 不越界  
        {  
            return false;  
        } else if (x == INT_MIN) // INT_MIN反转后越界,也没法按下述方法取绝对值(需要特判),直接返回true  
        {  
            return true;  
        }   
        x = abs(x);  
        // x = d463847412 ->  2147483647. (参数x,本身没有越界,所以d肯定是1或2)  
        // or -d463847412 -> -2147483648.   
        for (int cmp = 463847412; cmp != 0; cmp/=10, x/=10)  
        {  
            if ( x%10 > cmp%10 )  
            {  
                return true;  
            } else if (x%10 < cmp%10)  
            {  
                return false;  
            }  
        }  
          
        return false;  
    }
};

 

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

LeetcodeReverse Words in a String

LeetcodeReverse Vowels of a String

fun(n::Integer) 和 fun(n::T) 在性能/代码生成中 T<:Integer 之间有区别吗?

如何在代码中硬定义矩阵 Integer[][]

Java中Integer这个类的详细描述,甚至原代码???

java Integer parseInt()(转)