利用StringBuilder的reverse方法
int和String互转各种方式效率比较
class Solution {
public int reverse(int x) {
//abs() will go wrong
if(x==Integer.MIN_VALUE)
return 0;
long a = Long.valueOf(new StringBuilder(String.valueOf(Math.abs(x))).reverse().toString());
if(a>=Integer.MAX_VALUE){
return 0;
}
return x>0?(int)a:-(int)a;
}
}
一般解法
class Solution {
public int reverse(int x) {
long result = 0;
for(; x != 0; x /= 10){
result = result * 10 + x % 10;
}
return result > Integer.MAX_VALUE || result < Integer.MIN_VALUE ? 0 : (int)result;
}
}
网友评论