Reverse Integer
题目要求
Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
标签:Math
理解:
对一个输入的数进行倒序
我的提交
public int Reverse(int x) {
//被除数
int dividend = x;
if (dividend < 0)
dividend = ~dividend + 1;
//Console.WriteLine(dividend);
double result = 0;
int remainder = 0;
while(dividend>0)
{
remainder = dividend % 10;
dividend /= 10;
result = result * 10 + remainder;
}
if (result > int.MaxValue || result < int.MinValue)
return 0;
if (x < 0)
result = -result;
return (int)result;
}
注意事项:
- 对于输入的数的处理:取绝对值
- 总的思路:前一个结果×10+余数
remainder = dividend % 10;
dividend /= 10;
result = result * 10 + remainder;
- 计算完之后要注意检查结果是否有溢出,若溢出,则返回0
- 最后,要注意检查输入是否为负数,若是,要对最后结果进行取反