题解 | 回文数判断
回文数判断
https://www.nowcoder.com/practice/b685d58f237c4214ada27161304a74a3
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner console = new Scanner(System.in);
Main main = new Main();
int number = console.nextInt();
System.out.println(main.palindromeNumber(number));
}
public Boolean palindromeNumber(int number) {
//write your code here......
int leftNum = number;
int left = getFirstNum(number);
int leftIndex = 0;
int rightNum = number;
int right = getLastNum(number);
int rightIndex = getNumLength(number);
int divide = 1;
for (int i = 0; i < rightIndex - 1; i++) {
divide *= 10;
}
while (leftIndex < rightIndex) {
if (left != right) {
return false;
}
leftNum %= divide;
divide /= 10;
rightNum /= 10;
left = getFirstNum(leftNum);
right = getLastNum(rightNum);
leftIndex++;
rightIndex--;
}
return true;
}
private int getNumLength(int num) {
int len = 0;
while (num > 0) {
len++;
num /= 10;
}
return len;
}
private int getFirstNum(int num) {
while (num >= 10) {
num /= 10;
}
return num;
}
private int getLastNum(int num) {
return num % 10;
}
}
查看7道真题和解析
传音控股公司福利 321人发布