问题描述:
判断一个正整数是不是回文数。
回文数的定义是,将这个数反转之后,得到的数仍然是同一个数。
注意事项
给的数一定保证是32位正整数,但是反转之后的数就未必了。
样例:
11
, 121
, 1
, 12321
这些是回文数。
23
, 32
, 1232
这些不是回文数。
代码:
public class Solution {
/*
* @param num: a positive number
* @return: true if it's a palindrome or false
*/
public boolean isPalindrome(int num) {
// write your code here
//先判断这个整数的长度
int temp=num;//记住这个数
int n=0;//记录该数的长度
while(temp>0){
n++;
temp/=10;
}
int []a=new int [n];//定义数组记住该数的每一位
temp=num;
int i=0;
while(temp>0){
a[i++]=temp%10;
temp/=10;
}
for(int j=0;j<i/2;j++){//判断是不是回文
if(a[j]!=a[i-1-j])
return false;
}
return true;
}
public static void main(String []args){
Solution s=new Solution();
System.out.println(s.isPalindrome(21));
}
}