1 int reverse(long long x) 2 { 3 long long m = x; 4 if (x<INT_MIN||x > INT_MAX) 5 { 6 return 0; 7 } 8 if (m < 0) 9 { 10 return 0 - reverse(0 - m); 11 } 12 long long y = 0; 13 while (m > 0) 14 { 15 int c = m % 10; 16 m = m / 10; 17 y = y * 10 + c; 18 } 19 if (y<INT_MIN || y>INT_MAX) 20 { 21 return 0; 22 } 23 return y; 24 }