int reverse(int x)
{
long long re = x;
long long MaxInt = 2147483647;
long long MinInt = 2147483648;
int op = 0;
if(re<0)
{
op = 1;
re = -re;
}
vector<int>ss;
while(re)
{
int r = re%10;
re/=10;
ss.push_back(r);
}
long long sum = 0;
for(int i = 0; i<ss.size(); i++)
{
sum = sum*10 + ss[i];
if( (!op&&sum>MaxInt) || (op && sum >MinInt))
{
sum = 0;
break;
}
}
if(op) sum = -sum;
return sum;
}
本文介绍了一种用于反转整数的算法实现,通过将输入的整数转换为长整型,处理正负号,并使用vector存储每一位数字,再通过遍历重构得到反转后的整数。该算法还检查了反转后的整数是否超出32位整数范围。
1928

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



