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;
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;
}
题目中要求超出int表示范围时,要返回0,则可以用捕获异常的方法处理。