7. Reverse Integer(反转整数)

Description:

Given a 32-bit signed integer, reverse digits of an integer.

Example 1:

Input: 123
Output:  321

Example 2:

Input: -123
Output: -321

Example 3:

Input: 120
Output: 21

Note:
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.


Solution:

反转一个整数,我用队列实现的,感觉有点笨。。。

还要考虑溢出的问题,32位有符号整数-2^31到2^31,判断下就好。

class Solution {
public:
    int reverse(int x) {
    
    queue  q;
	while (x)
	{
		q.push(x % 10);
		x = x / 10;
	}
	long result=0;
	while (!q.empty())
	{
		result=result*10+q.front();
		q.pop();
	}
    if(result>pow(2,31)||result<-pow(2,31)) 
        return 0;
    else
        return (int)result;
        
    }
};



你可能感兴趣的:(Leetcode)