import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param x int整型
* @return int整型
*/
public int reverse (int x) {
// write code here
//将数字转化为字符串
String value = String.valueOf(x);
if (value.length() == 1) {
return x;
}
// 符号
String fh = "";
// 判断是否有符号
if (value.contains("-")) {
fh = value.substring(0, 1);
value = value.substring(1);
}
// 保存需要旋转的字符转
StringBuffer sb = new StringBuffer();
for (int i = 0; i < value.length(); i++) {
sb.append(value.charAt(i));
}
// 旋转字符转
sb.reverse();
// 去掉多余的0,标记非零之前0的位置
int index = 0;
for (int k = 0; k < sb.length(); k++) {
if (sb.charAt(k) == '0') {
index ++;
} else {
break;
}
}
String sub = sb.substring(index);
// 获取旋转之后的字符转长度
int length = sub.length();
// 最大int数
String max = String.valueOf(Integer.MAX_VALUE);
if (length == max.length()) {
for (int j = 0; j < max.length(); j++) {
if (sub.charAt(j) > max.charAt(j)) {
return 0;
}
}
} else {
value = fh + sub;
}
return Integer.parseInt(value);
}
}