LeetCode 7. 整数反转
原题链接
简单
作者:
bruce
,
2021-01-30 23:12:49
,
所有人可见
,
阅读 362
#include <iostream>
#include <sstream>
#include <string>
using namespace std;
/**
* 7 给定一个整数然后翻转即可
*/
/**
* 方法 1
* */
int reverseNum(int x)
{
int res = 0;
while (x)
{
// 判断翻转越界
if (abs(res) > INT_MAX / 10)
return 0;
res = res * 10 + x % 10;
x /= 10;
}
return res;
}
/**
* 方法 2,注意这里会有越界问题
*/
int reverse2(int x)
{
int r = 0;
while (x)
{
if (r > 0 && r > (INT_MAX - x % 10) / 10)
return 0;
if (r < 0 && r < (INT_MIN - x % 10) / 10)
return 0;
r = r * 10 + x % 10;
x /= 10;
}
return r;
}