leetcode->Algorithm->9. Palindrome Number

来源:互联网 发布:西装牌子 知乎 编辑:程序博客网 时间:2024/05/20 19:17


题目描述:

点击打开链接

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;    }}