自己写了一种笨方法,就是先把数放在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); } }