题目描述:
Determine whether an integer is a palindrome. Do this without extra space.
解题思路:
java解法:
首先,给定一个整数int x,那么因为要对每一位进行判断,所以应该先将其转换成字符串。
然后判断回文,很自然想到reverse()这个函数,它属于StringBuilder类,所以应将上述字符串转换为StringBuilder类型后反转,反转后再与原字符串进行判等操作。
最后依据判等结果返回。
应注意的问题:
首先,输入边界判断,对输入的x的正负进行判断;
其次,判断两个字符串的内容是否相等,String类可以用equals()方法,因为String类重写了Object类的equals()方法;但是StringBuilder类没有重写equals()方法,因此它的equals()方法与==相同,都是比较两个引用是否相同。因此在比较的过程中要注意。
java代码:
public class Solution {
public boolean isPalindrome(int x) {
if(x<0){
return false;
}
Integer i = (Integer) x;
String s = i.toString();
StringBuilder sb = new StringBuilder(s);
String sp = sb.reverse().toString();
if(s.equals(sp))
return true;
else
return false;
}
}