# Palindrome NumberđźŽ™

--

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.

**Constraints:**

`-231 <= x <= 231 - 1`

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

# Java Solution

Three different solutions with three different time complexities

**O(n)**

Where n is the number of digits. The reversing of a string will take n steps.

## Code

**O(n/2)**

Where n is the number of digits.

## Code

**O(Log base 10 (n))**

Where n is the number itself, in the below program we are trying to get the half number of the actual number, and on each loop, we are dividing out input by 10. In other words how many times do we have to divide n by 10 in order to get its half number