Reverse Integer
Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
1 /************************************************************************* 2 > File Name: LeetCode007.c 3 > Author: Juntaran 4 > Mail: Jacinthmail@gmail.com 5 > Created Time: 2016年04月24日 星期日 17时03分19秒 6 ************************************************************************/ 7 8 /************************************************************************* 9 10 Reverse Integer 11 12 Reverse digits of an integer. 13 14 Example1: x = 123, return 321 15 Example2: x = -123, return -321 16 17 ************************************************************************/ 18 19 #include <stdio.h> 20 #include <limits.h> 21 22 int reverse(int x){ 23 24 long int result = 0; 25 26 /* 取出数字 */ 27 int p = x>0 ? x : -x; 28 29 /* Reverse */ 30 while( p != 0 ){ 31 result = result*10 + p%10; 32 p = p/10; 33 } 34 35 /* 添加符号 */ 36 result = (x>0) ? result : -result; 37 38 /* 判断溢出 */ 39 if( result > INT_MAX || result < INT_MIN ){ 40 return 0; 41 }else{ 42 printf("%d ",result); 43 return result; 44 } 45 } 46 47 int reverse1(int x){ 48 49 long result = 0; 50 while(x != 0){ 51 result = result * 10 + x % 10; 52 x = x/10; 53 } 54 if( result > INT_MAX || result < INT_MIN ){ 55 return 0; 56 } 57 printf("%d ",result); 58 return (int)result; 59 } 60 61 int main(){ 62 int x = -15984; 63 reverse(x); 64 reverse1(x); 65 }