Palindrome Number -- LeetCode

2014-11-24 10:47:42 · 作者: · 浏览: 0

这道题跟Reverse Integer差不多,也是考查对整数的操作,相对来说可能还更加简单,因为数字不会变化,所以没有越界的问题。基本思路是每次去第一位和最后一位,如果不相同则返回false,否则继续直到位数为0。代码如下:
public boolean isPalindrome(int x) {
    if(x<0)
        return false;
    int div = 1;
    while(div<=x/10)
        div *= 10;
    while(x>
0) { if(x/div!=x%10) return false; x = (x%div)/10; div /= 100; } return true; }
这个题和Longest Palindromic Substring也很接近,只是处理的数据结构有所不同。如果大家这个题有更好的解法,欢迎讨论哈。可以留言或者发邮件到linhuanmars@gmail.com给我,多谢~