原题链接:
http://oj.leetcode.com/problems/palindrome-number/
这道题跟 Reverse Integer 差不多,也是考查对整数的操作,相对来说可能还更加简单,因为数字不会变化,所以没有越界的问题。基本思路是每次去第一位和最后一位,如果不相同则返回false,否则继续直到位数为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
给我,多谢~