原题
思路
注意点一
12340=4321
注意点二
注意符号
注意点三
不要超出INT的边界,可以先用LONG去运算,运算完成之后,如果超出了边界,则返回0。
代码
写的很丑,见笑了
package leetcode;
public class Solution_7 {
public static void main(String[] args) {
reverse(
123);
}
public static int reverse(int x) {
String xx = String.valueOf(x);
char[] xxx = xx.toCharArray();
long cast = 0;
if (xxx[0] == '-') {
for (int i = 1; i < xxx.length; i++) {
long c = Integer.parseInt(String.valueOf(xxx[i]));
long b = (long)Math.pow(10, i - 1);
cast = cast + c * b;
}
cast = -1 * cast;
} else {
for (int i = 0; i < xxx.length; i++) {
long c = Integer.parseInt(String.valueOf(xxx[i]));
long b = (long) Math.pow(10, i);
cast = cast + c * b;
}
}
if (cast>Integer.MAX_VALUE||cast<Integer.MIN_VALUE){
cast=0;
}
// System.out.println(cast);
return (int) cast;
}
}