题目
给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。
回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
例如:121 是回文,而 123 不是。
解题思路
- 先定义一个整数型变量 n
- 通过循环依次将n的每一位的数从左到右获取数字
- 将当前获取的数字放到最右边
- 最后将最开始的n和获取的数字进行判断是否一样
Java源代码
package banana;
import java.util.Scanner;
public class huiwenshu {
public static void main(String[] args) {
//输入一个数字n
Scanner scan = new Scanner(System.in);
int x = scan.nextInt();
int num = 0;
int temp = x;
//利用while循环
while (x!=0){
//从右往左获取数字
int ge = x % 10;
//修改一下n的数值,每循环一次,就去掉一位
x = x / 10;
//把当前获取的数字放到最右边
num = num * 10 + ge;
}
//判断回文数
System.out.println(num == temp);
scan.close();
}
}
LeeCode代码
class Solution {
public boolean isPalindrome(int x) {
//判断x是否为大于0
if (x < 0 ) {
return false;
}
int num = 0;
int temp = x;
while (x != 0) {
int ge = x % 10;
x = x / 10;
num = num * 10 + ge;
}
return num == temp;
}
}