您的位置:首页 > 其它

反转整数

2017-06-26 11:12 218 查看
将一个整数中的数字进行颠倒,当颠倒后的整数溢出时,返回 0 (标记为 32 位整数)。

样例

给定 x = 123,返回 321

给定 x = -123,返回 -321

import java.util.Scanner;

/**
* 将一个整数中的数字进行颠倒,当颠倒后的整数溢出时,返回 0 (标记为 32 位整数)。
样例
给定 x = 123,返回 321
给定 x = -123,返回 -321
*
* @author Dell
*
*/
public class Test413 {
public static int reverseInteger(int n)
{
if(Math.abs(n)<=9)
return n;
int temp=n;
if(temp<0)
{
temp=Math.abs(temp);
}
long sum=0;
while(temp!=0)
{
int k=temp%10;
temp=temp/10;
if(temp!=0)
sum=(sum+k)*10;
else
{
sum=sum+k;
}
}
if(n>0)
{
if(sum>Integer.MAX_VALUE)
return 0;
else
return (int)sum;
}
else
{ sum=-1*sum;
if(sum<Integer.MIN_VALUE)
return 0;
else
return (int) sum;

}

}
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
System.out.println(reverseInteger(n));
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  LeetCode