您的位置:首页 > 其它

Reverse Integer--LeetCode

2015-04-05 11:41 387 查看

题目:

Reverse digits of an integer.

Example1: x = 123, return 321

Example2: x = -123, return -321

思路:如果是整数,直接反转,如果是负数,那么反转以后记得添加负号

int ReverseInteger(int value)
{
	int reserve=0;
	int key;
	int flag=1;
	if(value<0)
		flag = -1;
	key = flag*value;
	while(key)
	{
		reserve = reserve*10+key%10;
		key = key/10;
			
	} 
	return flag*reserve;
}


上述这个问题是没有考虑边界的想象

int ReverseInt(int n)
{
	int flag = 1;
	int value = n;
	if(n < 0)
	{
		flag = -1;
		value = -n;
	}
	int result =0;
	while(value)
	{
		int temp = value %10;
		if(temp > (numeric_limits<int>::max()/10 - result))
			return flag == 1? numeric_limits<int>::max():numeric_limits<int>::min();
		result = result*10 +temp;
		value /= 10;
	}
	return flag*result;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: