LeetCode 9. Palindrome Number (回文数字)

Determine whether an integer is a palindrome. Do this without extra space.


题目标签:Math

  题目给了我们一个int x, 让我们判断它是不是回文数字。

  首先,负数就不是回文数字,因为有个负号。

  剩下的都是正数,只要把数字 reverse 一下,和原来的比较,一样就是回文。

  当有overflow 的时候,返回一个负数就可以了(因为负数肯定不会和正数相等)。

  

Java Solution:

Runtime beats 61.47%

完成日期:06/12/2017

关键词:Palindrome

关键点:reverse number

 class Solution
{
public boolean isPalindrome(int x)
{
if(x < 0)
return false; int pd = reverse(x); return x == pd ? true : false;
} public int reverse(int num)
{
int res = 0; while(num != 0)
{
int tail = num % 10;
int newRes = res * 10 + tail; if((newRes - tail) / 10 != res) // check overflow
return -1; // -1 will not equal to positive number res = newRes;
num = num / 10;
} return res;
}
}

参考资料:N/A

LeetCode 题目列表 - LeetCode Questions List

题目来源:https://leetcode.com/

上一篇:[LeetCode] 234. Palindrome Linked List 回文链表


下一篇:Leetcode 9. Palindrome Number(判断回文数字)