Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
第一次
public class Solution {
public int reverse(int x) {
int plusX = x>0?x:-x;
char[] char_x = (""+plusX).toCharArray();
int start=0, end=char_x.length-1;
char flag;
while(end > start){
flag=char_x[start];
char_x[start++]=char_x[end];
char_x[end--]=flag;
}
String str_x="";
boolean is_first = true;
for(char c : char_x){
if(is_first){
is_first=false;
if(c == '0'){
if(char_x.length>1){
continue;
}
if(char_x.length==1){
str_x="0";
}
is_first = false;
}else
str_x+=c;
}else{
str_x+=c;
}
}
try {
plusX = Integer.parseInt(str_x.trim());
} catch (NumberFormatException e) {
return 0;
}
if(x<0)
plusX = -plusX;
return plusX;
}
}第二次public class Solution {
public int reverse(int x) {
boolean negtive = x < 0 ? true : false;
StringBuilder sb = null;
x = Math.abs(x);
sb = new StringBuilder(""+x);
sb = sb.reverse();
int result = 0;
try{
result = Integer.valueOf(sb.toString());
}catch(NumberFormatException e){
result = 0;
}
return negtive ? -result : result;
}
}
本文提供了两种使用Java实现整数反转的方法。第一种方法通过字符数组处理正负号及前导零;第二种方法利用StringBuilder简化了反转过程。两种方法均考虑了整数溢出的情况。

1万+

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



