解题思路
9. 回文数
很显然,负数必定不是回文数,0为回文数。
方法一:
可以利用StringBuffer特有的reverse方法把x所对应的字符串倒序处理,然后比较倒序前后是否相同,相同就为回文数。
方法二:
使用取模运算把整数x的尾数一个一个取出来,然后反向拼接处一个数字,最后比较两数字是否相等,相等就为回文数。
代码
方法一:
//运行时间:14ms 内存消耗:38.2MB
class Solution {
public static boolean isPalindrome(int x) {
if(x<0) return false;
String sb1 = String.valueOf(x);
StringBuffer sb2 = new StringBuffer(sb1);
sb2.reverse();
if(sb1.equals(sb2.toString())) {
return true;
}
return false;
}
}
方法二:
//运行时间:10ms 内存消耗:37.4MB
class Solution {
public static boolean isPalindrome(int x) {
if(x<0) return false;
if(x==0) return true;
int y=x;
int temp = 0;
int reverse_x =0;
while(y>0) {
temp =y%10;
reverse_x = reverse_x*10+temp;
y=y/10;
}
if(reverse_x == x) {
return true;
}
return false;
}
}