给你一个整数
x
,如果x
是一个回文整数,返回true
;否则,返回false
。回文数
是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
- 例如,
121
是回文,而123
不是。示例 1:
输入:x = 121 输出:true示例 2:
输入:x = -121 输出:false 解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:
输入:x = 10 输出:false 解释:从右向左读, 为 01 。因此它不是一个回文数。
package Base_001;
import java.util.Scanner;
/**
* @ClassName Test
* @author GaoYanfei
* @Date 2024/6/18 16:10
* @Version V1.0
* @Description :
*/
public class Solution {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("输入一个数字:");
int number = scanner.nextInt();
Solution solution = new Solution();
solution.isPalindrome(number);
}
public boolean isPalindrome(int x) {
boolean flag = true;
if (x<0){
return false;
} else if (x==0) {
return true;
} else{
// 转换为String字符串
String numstr = String.valueOf(x);
// 获得字符串的长度
int length = numstr.length();
String[] arr = new String[length];
int index=0;
for (int i = length-1 ; i>=0; i--){
arr[index] = String.valueOf(numstr.charAt(i));
System.out.println(arr[index]);
index++;
}
// 将String[] 转换为String
StringBuffer stringBuffer = new StringBuffer();
for (String str:arr){
stringBuffer.append(str);
}
// 再将其转为String
String result = stringBuffer.toString();
if (result.equals(numstr)){
flag = true;
}else {
flag = false;
}
}
return flag;
}
}
class Solution {
public boolean isPalindrome(int x) {
int temp = 0;
int numrev = 0;
int original = x;
if(x<0){
return false;
}else if(x==0){
return true;
}else{
while(x!=0){
temp = x%10;
numrev = numrev*10 + temp;
x = x/10;
}
}
return numrev==original;
}
}