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;
	}
};
相關文章
相關標籤/搜索