## DEV Community

FakeStandard

Posted on • Updated on

# Palindrome Number

#9.Palindrome Number

### Problem statement

Given an integer `x`, return `true` if `x` is palindrome integer.

An integer is a palindrome when it reads the same backward as forward.

• For example, `121` is a palindrome while `123` is not.

Example 1

``````Input: x = 121
Output: true
Explanation: 121 reads as 121 from left to right and from right to left.
``````

Example 2

``````Input: x = -121
Output: false
Explanation: From left to right, it reads -121. From right to left, it becomes 121-. Therefore it is not a palindrome.
``````

Example 3

``````Input: x = 10
Output: false
Explanation: Reads 01 from right to left. Therefore it is not a palindrome.
``````

### Solution

• 判斷 `x` 是否為 0，如果是 return true
• 判斷 `x` 是否小於 0 或者為 10 的倍數，如果是 return false

``````public bool IsPalindrome(int x)
{
if (x == 0)
return true;

if (x < 0 || x % 10 == 0)
return false;

int reverseNum = 0;

while (x > reverseNum)
{
reverseNum = reverseNum * 10 + x % 10;
x /= 10;
}

return x == reverseNum || x == reverseNum / 10;
}
``````

### Reference

LeetCode Solution

GitHub Repository

Thanks for reading the article 🌷 🌻 🌼

If you like it, please don't hesitate to click heart button ❤️
or click like on my Leetcode solution
or follow my GitHub
or buy me a coffee ⬇️ I'd appreciate it.