> For the complete documentation index, see [llms.txt](https://code-snippets.hbamithkumara.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://code-snippets.hbamithkumara.com/leetcode/problems/1-100/palindrome-number.md).

# 9. Palindrome Number

### Description

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

### Constraints

### Approach

### Links

* GeeksforGeeks
* [Leetcode](https://leetcode.com/problems/palindrome-number/)
* ProgramCreek
* YouTube

### **Examples**

{% tabs %}
{% tab title="Example 1" %}
**Input:** 121

**Output:** true
{% endtab %}

{% tab title="Example 2" %}
**Input:** -121

**Output:** false

**Explanation:** From left to right, it reads -121. From right to left, it becomes 121-. Therefore it is not a palindrome.
{% endtab %}

{% tab title="Example 3" %}
**Input:** 10

**Output:** false

**Explanation:** Reads 01 from right to left. Therefore it is not a palindrome.
{% endtab %}
{% endtabs %}

### **Solutions**

{% tabs %}
{% tab title="Solution 1" %}

```java
/**
 * Time complexity : O(log10(n)). We divided the input by 10 for every iteration, 
 *    so the time complexity is O(log10(n)).
 * Space complexity : O(1)
 */

class Solution {
    public boolean isPalindrome(int n) {
        if(n < 0 || (n % 10 == 0 && n != 0)) {
            return false;
        }
        int revertedNumber = 0;
        while(revertedNumber < n) {
            revertedNumber = (revertedNumber*10) + (n%10);
            n /= 10;
        }
        return (revertedNumber == n) || (n == revertedNumber/10);
    }
}
```

{% endtab %}
{% endtabs %}

### **Follow up**

* Could you solve it without converting the integer to a string?
