题目:Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
理解:将输入的整数反向值输出,需要注意一点就是负号和反向之后值可能会超过int最大值的情况。
public class Solution {
public int reverse(int x) {
int result = 0;
if (x < 0) {
// x小于0
char[] elementArray = String.valueOf(x).toCharArray();
int len = elementArray.length;
int biggestIndex = len - 1;
char[] newArray = new char[len];
newArray[0] = '-';
for (int i = 1; i < len; i++) {
newArray[len - i] = elementArray[i];
}
try {
result = Integer.parseInt(new String(newArray));
} catch (Exception e) {
// TODO: handle exception
}
} else {
// x大于等于0
char[] elementArray = String.valueOf(x).toCharArray();
int len = elementArray.length;
int biggestIndex = len - 1;
char[] newArray = new char[len];
for (int i = 0; i < len; i++) {
newArray[biggestIndex - i] = elementArray[i];
}
try {
result = Integer.parseInt(new String(newArray));
} catch (Exception e) {
// TODO: handle exception
}
}
return result;
}
}