题目
9. 回文数
描述
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
解题思路
- 若给定的数为负数,则非回文数;
- 若给定的数是个位数,则是回文数;
- 给定的数不小于10时,将其转换为String类型;
- 循环字符串
strX
的前(int)(strX.length() / 2)
位; - 判断字符串的
i
和strX.length() - 1 - i
位是否相同,一旦不同则不是回文数; - 默认x是回文数;
实现
package math;
/**
* Created with IntelliJ IDEA.
* Version : 1.0
* Author : cunyu
* Email : cunyu1024@foxmail.com
* Website : https://cunyu1943.github.io
* Date : 2020/3/21 14:14
* Project : LeetCode
* Package : math
* Class : Nine
* Desc : 9.回文数
*/
import java.util.Scanner;
public class Nine {
public static void main(String[] args) throws Exception {
Nine nine = new Nine();
Scanner input = new Scanner(System.in);
int number = input.nextInt();
System.out.println(nine.isPalindrome(number));
}
public boolean isPalindrome(int x) {
if (x < 0) {
return false;
} else {
if (x < 10){
return true;
}else {
String strx = Integer.toString(x);
for (int i = 0; i < (int)(strx.length() / 2); i++){
if (strx.charAt(i) != strx.charAt(strx.length() - 1 - i)){
return false;
}
}
}
}
return true;
}
}