LeetCode 9.回文数字(代码+测试)
1.解法1
package LeetCode;
class Solution {
public static void main(String[] args) {
boolean result= isPalindrome(1213);
System.out.println(result);
}
public static boolean isPalindrome(int x){
boolean flag=false;
//如果X=0,符合回文数
if (x==0){
return true;
}
//输入负数和个位数为0,肯定不是回文数,可以直接判断
if(x<0||x%10==0){
return false;
}
int temp=0; //temp初始化 存储每一次 拼接上的数
while (x>temp){
temp=temp*10+x%10;
x/=10;
}if(x==temp ||x==temp/10){ //回文数为奇数个 或者为偶数个 121 x去除1,temp加上1
flag=true;
}
return flag;
}
}
2.解法2
age LeetCode;
class Solution {
public static void main(String[] args) {
boolean result= isPalindrome(1213);
System.out.println(result);
}
public static boolean isPalindrome(int x) {
if (x == 0) {
return true;
}
if (x < 0 || x % 10 == 0) {
return false;
}
StringBuilder sb=new StringBuilder(x+""); //+"" 表示传入的为字符串
String afterreverse=sb.reverse().toString();
if(Long.parseLong(afterreverse)==x){
return true;
}
return false;
}
}