题意
把一个int的数转过来
题解
坑有点多。
第一个,转过来之后可能溢出,直接返回0。
第二个,要消掉尾部0。
代码
class Solution {
public:
int reverse(int x) {
string res;
bool flag = false;
if (x < 0) res += '-';
while (x)
{
if (x % 10 == 0)
{
if (flag) res += abs(x % 10) +48;
}
else
{
res += abs(x % 10) +48;
flag = true;
}
x /= 10;
}
long long temp = atof(res.c_str());
if (temp > INT_MAX || temp < INT_MIN) return 0;
return temp;
}
};
本文详细解析了将整数反转的算法实现,讨论了溢出处理及尾部零的消除等关键点,提供了一个C++代码示例。
1518

被折叠的 条评论
为什么被折叠?



