自己写了一种笨方法,就是先把数放在ArrayList中,然后一位一位的比较
然后看了一下别人的方法,对比下,吸取经验
package TestDemo;
import java.util.*;
public class Test2 {
public static void main(String[] args){
Scanner in = new Scanner(System.in);
int x = in.nextInt();
System.out.println(isPalindrome( x));
System.out.println(isPalindrome1( x));
}
//方法一
public static boolean isPalindrome(int x) {
ArrayList list = new ArrayList ();
int y = x;
if(x == 0){
list.add(x);
}
else{
while(x != 0){
list.add( x % 10);
x = x /10;
}}
int l = list.size();
int j =0;
if( y>=0){
for(int i =0 ; i < l/2 ; i ++){
if(list.get(i) == list.get(l-i-1)){
j++;
}
else{
return false;
}
}
return true;
}
else{
return false;
}
}
//方法二
static boolean isPalindrome1(int x) {
if (x<0 || (x!=0 && x%10==0)) return false;
int rev = 0;
while (x>rev){
rev = rev*10 + x%10;
x = x/10;
}
return (x==rev || x==rev/10);
}
}