Determine whether an integer is a palindrome. An integer is a palindrome when it reads the same backward as forward.
Example 1:
Input: 121 Output: trueExample 2:
Input: -121 Output: false Explanation: From left to right, it reads -121. From right to left, it becomes 121-. Therefore it is not a palindrome.判断是否为回文数字。
比如12321从左边读和从右边读数字都是相同的。
public class palinNum { public boolean plainNum(int num){ //判断数是否合法 if(num<0)return false; //获取数的位数 //比如13131 //获取到的div就是10000 int div = 1; while(num/div>=10){ div*=10; } //只要num不为0循环继续 while (num!=0){ //获取最高位的数 int left = num/div; //获取最低位的数 int right = num; //最高位的数不等于最低位的数 if(left!=right)return false; //为下一次循环做准备 //比如13131 //最高位和最低位相等已经判断过了 //所以把最高位和最低位去掉 num = (num-left*div)/10; // 因为去掉了最高位和最低位,所以d位数少了两个,所以div要去掉两个0 div/=100; } return true; } }