leetcode练习7(整数反转)

题目:给出一个32为的有符号整数,你需要将这个整数中的每位上的数字进行反转,如果反转后的整数溢出那么就返回0.
题解:
颇为简单的一题

class solution
{
private:
	
public:
	int reverse(int obj)
	{
		int res = 0;
		while (obj)
		{
			
			res =res * 10 + (obj % 10);
			obj=obj / 10;
			//32位有符号整数的最大值是2147483647
			if (res > INT_MAX / 10 || res == INT_MAX / 10 && obj % 10 > 7)
				return 0;
			//32位有符号整数的最小值是-2147483648
			if (res < INT_MIN / 10 || res == INT_MIN / 10 && obj % 10 < -8)
				return 0;

	  }
		return res;
	}
		
	
	};

你可能感兴趣的:(leetcode练习7(整数反转))