Leetcode——Reverse number

这个题其实逻辑不难,可是最坑爹的问题是如何判断整型数的溢出!!!code

class Solution 
{
public:
	int reverse(int x) {
		if (INT_MIN == x) return 0;
		if (x < 0) return -reverse(-x);
		int result = 0;
		while (x > 0){
			int a = x % 10;
			x = x / 10;
			if ((INT_MAX - a) / 10 < result)    //若是result*10+a还大于INT_MAX,那就是要溢出了
				return 0;
			result = result * 10 + a;
		}
		return result;
	}
};
相关文章
相关标签/搜索