Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
解题思路就是除10取模操作,还有就是要处理反转后的溢出的问题。
public int reverse(int x) {
long sum=0;
if(x==0) return 0;
int flag=1;
if(x<0){
flag=-1;
}
long num=Math.abs((long)x);
while(num!=0){
long tmp=num%10;
sum=10*sum+tmp;
num=num/10;
}
if ((flag==1 && sum > Integer.MAX_VALUE) ||( flag ==-1 )&&(-1*sum < Integer.MIN_VALUE))
return 0;
return flag*(int)sum;
}
本文介绍了一种用于反转整数的算法实现,通过除10取模操作完成整数位的翻转,并处理了负数及溢出的情况。适用于面试和技术交流。
254

被折叠的 条评论
为什么被折叠?



