2019/2/22
public int Reverse(int x)
{
if (x == 0) return 0;
bool flag = x > 0;
int value = flag ? x : -x;
long result = 0;
while (value > 0)
{
int num = value % 10;
value = value / 10;
result = result * 10 + num;
if (result > int.MaxValue) return 0;
}
return (int)(flag ? result : -result);
}
2019/2/22
此题一出,四海混顿。苍苍两两,归为一处。——navymaster
记得大学的时候报班学习c,讲到了这个题,印象很深。深的是题目,忘的是程序。
如今又拾起,一定要将其参悟。
static void Main(string[] args)
{
int ss = -123;
int s= Reverse(ss);
Console.Write(s);
Console.ReadKey();
}
public static int Reverse(int x)
{
int res = 0;
while (x != 0)
{
int t = res * 10 + x % 10;
if ((t - x % 10) / 10 != res) return 0;
res = t;
x /= 10;
}
return res;
}