判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
示例 1:
输入: 121
输出: true
示例 2:
输入: -121
输出: false
解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
示例 3:
输入: 10
输出: false
解释: 从右向左读, 为 01 。因此它不是一个回文数。
我擦,看到这一题,第一反应是我前一篇文章写得程序,那个随便改改不就可以了?
import java.util.Scanner;
public class SolutionSeven {
public static int reverse(int x) {
int xResult = 0;
try {
String num = String.valueOf(x);
int numLength = num.length();
String[] xInPut = new String[numLength];
for (int i = 0; i < numLength; i++) {
xInPut[i] = String.valueOf(num.charAt(i));
}
String[] xOutPut = new String[numLength];
for (int j = 0; j < numLength; j++) {
xOutPut[j] = xInPut[numLength - 1 - j];
}
StringBuilder stringBuilder = new StringBuilder();
for (int k = 0; k < numLength; k++) {
stringBuilder.append(xOutPut[k]);
}
String s = stringBuilder + "";
if (x > 0) {
xResult = Integer.valueOf(s);
} else {
String[] r = s.split("-");
xResult = Integer.valueOf(r[0]);
xResult = xResult * (-1);
}
} catch (Exception e) {
e.getMessage();
}
return xResult;
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int inPut = scanner.nextInt();
int res = SolutionSeven.reverse(inPut);
System.out.println(res);
}
}