Given an integer x, return true if x is a palindrome, and false otherwise.
Input: x = 121
Output: true
Explanation: 121 reads as 121 from left to right and from right to left.
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.
Input: x = 10
Output: false
Explanation: Reads 01 from right to left. Therefore it is not a palindrome.
Follow up: Could you solve it without converting the integer to a string?
The simplest way to determine if a number is a palindrome is to convert it to a string and check if the string reads the same forwards and backwards.
Instead of converting the integer to a string, we can reverse the digits of the integer itself and compare it with the original integer.
We can improve upon the previous approach by only reversing half of the number and checking if the first half equals the reversed second half. This reduces the amount of work needed, particularly for very long numbers.