LeetCode题目_Reverse Integer

来源:互联网 发布:网络基础知识面试题 编辑:程序博客网 时间:2024/06/06 04:00

最近在LeetCode上做题,写点东西记录一下,虽然自己做的都是些很水的题目,但是重在练手。

题号7:Reverse Integer,题目描述:

Reverse digits of an integer:例如,输入123,输出321;输入-123,输出-321。

思路很简单:将原数的每一位求出,然后将原数的每一位倒序,生成一个整数。在程序中,使用了队列,利用其先进先出的原则,倒序原数每一位。

注意的地方:防止溢出。

代码如下:

class Solution {public:    int reverse(int m) {           long long n =(long long)m;    queue<long> q;    if(n==0)    return 0;    else    {        if(n>0)        {            while(n)            {                 q.push(n%10);                 n/=10;            }               while(!q.empty())            {                 n=n*10+q.front();                 q.pop();            }            if(n>2147483647) return 0;            return n;        }        else        {             n=abs(n);             while(n)            {                 q.push(n%10);                 n/=10;            }               while(!q.empty())            {                 n=n*10+q.front();                 q.pop();            }            if(abs(n)>2147483648UL) return 0;            return -n;        }    }    }};

1 0
原创粉丝点击