您的位置:首页 > 其它

leetcode之reverse Integer

2016-04-04 22:53 295 查看
题目的难点在于溢出条件的判断,所以在对result声明的时候就得用long,而非int

(1)C语言实现

int reverse(int x) {

    long result = 0;

    int sign = x>0?1:-1;

    while(x){

        int m = x%10;

        result = result*10+m;

        x /= 10;

    }

    return (result>INT_MAX||result<INT_MIN)?0:result;

}

(2)C++实现

class Solution {

public:

    int reverse(int x) {

         //if(x>INT_MAX||x<INT_MIN)

           // return 0;

        int sign = x>0?1:-1;

        x = abs(x);

         long result = 0;

        while(x){

            int m = x%10;

            result = result*10+m;

            x /= 10;

        }

        return (result>INT_MAX||result<INT_MIN)?0:result*sign;

    }

};

*/

/*解法二

class Solution {

public:

    int reverse(int x) {

         long long res = 0;

        while(x) {

            res = res*10 + x%10;

            x /= 10;

        }

        return (res<INT_MIN || res>INT_MAX) ? 0 : res;

    

    }

};

*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: