您的位置:首页 > 编程语言 > Go语言

Leetcode Reverse Integer

2017-12-07 09:21 274 查看
Assume we are dealing with an environment which could only hold integers within the 32-bit signed integer range. For the purpose of this problem, assume that your function returns 0 when the reversed integer overflows.

My answer:

int abs(int x)

{

    if(x < 0)

    {

        return -x;

    }

    else

    {

        return x;

    }

}

int reverse(int x) {

    int y,a,b,count,temp;

    y = 0;

    a = abs(x);

    if(a != 0)

    {

        temp = a;

        a = temp / 10;

        b = temp % 10;

        y = y*10 + b;

    }

    else

    {

        if(y >= 0)

        {

            if(y >= 32767)

            {

                return 0;

            }

            else

            {

                return y;

            }

        }

        else

        {

            y = -y;

            if(y <= -32767)

            {

                return 0;

            }

            else

            {

                return y;

            }

        }

    }

    return 0;

}

good answer:

int reverse(int x) {

    long long val = 0;

    do

    {

        val = val * 10 + x % 10;

        x /= 10;

    } while (x);

    

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

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