失败 没办法在string builder 转成int的时候判断是否越界
/*
注意:判断是否越界;
1将int 转成字符串;
2判断第一位是否是符号 是符号保留;
3建立stringbuilder 反向写入;
*/
class Solution {
public int reverse(int x) {
if(x < Integer.MIN_VALUE || x > Integer.MAX_VALUE){
return 0;
}
String s = String.valueOf(x);
StringBuilder rs = new StringBuilder();
for(int i = s.length() - 1; i >= 0; i--){
if(s.charAt(i) == '-'){
rs.insert(0,'-');
}
rs.append(s.charAt(i));
}
if(rs.charAt(0) == 0){
rs.deleteCharAt(0);
}
if(rs.charAt(0) == '-' && rs.charAt(1) == 0){
rs.deleteCharAt(1);
}
if(rs.charAt(rs.length() - 1) == '-'){
rs.deleteCharAt(rs.length() - 1);
}
int result = Integer.parseInt(rs.toString());
if(result < Integer.MIN_VALUE || result > Integer.MAX_VALUE){
return 0;
}
return result;
}
}