Leetcode部分代码(简单版)
7.Reverse Integer
class Solution {
public int reverse(int x) {
List<Integer> aList = new ArrayList<Integer>();
boolean sig = false;
if(x<0){sig = true;x=Math.abs(x);
if (x==Integer.MIN_VALUE){
return 0;
}
}
while(x!=0){
aList.add(x%10);
x=x/10;
}
if(aList.size()==0){
return 0;
}
long sum = 0;
int count =aList.size();
for(int i = 0; i<count;i++){
sum = sum + aList.get(i)*(long)(Math.pow(10, count-1-i));
}
if(sig){
boolean resultSig = sum*-1<-(long)Math.pow(2, 31);
if(resultSig){
return 0;
}else{
return (int)sum*-1;
}
}
else{
boolean resultSig = sum>(long)Math.pow(2, 31)-1;
if(resultSig){
return 0;
}else{
return (int)sum;
}
}
}
}
【注记】Max.abs当传入参数为Integer最小值,则不会返回正数,因为越界了,会返回数本身。坑~