Reverse Integer
/*************************************************************************
> File Name: LeetCode7.c
> Author: Juntaran
> Mail: Jacinthmail@gmail.com
> Created Time: 2016年04月24日 星期日 17时03分19秒
************************************************************************/
/*************************************************************************
Reverse Integer
Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
************************************************************************/
#include <stdio.h>
#include <limits.h>
int reverse(int x){
long int result = 0;
/* 取出数字 */
int p = x>0 ? x : -x;
/* Reverse */
while( p != 0 ){
result = result*10 + p%10;
p = p/10;
}
/* 添加符号 */
result = (x>0) ? result : -result;
/* 判断溢出 */
if( result > INT_MAX || result < INT_MIN ){
return 0;
}else{
printf("%d\n",result);
return result;
}
}
int reverse1(int x){
long result = 0;
while(x != 0){
result = result * 10 + x % 10;
x = x/10;
}
if( result > INT_MAX || result < INT_MIN ){
return 0;
}
printf("%d\n",result);
return (int)result;
}
int main(){
int x = -15984;
reverse(x);
reverse1(x);
}
Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321