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 palindrome while 123
is not.
Example 1:
Input: x = 121 Output: true
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.
Example 4:
Input: x = -101 Output: false
Constraints:
-231 <= x <= 231 - 1
Follow up: Could you solve it without converting the integer to a string?
This question requires knowledge of the concept of reversing an integer. Once we are able to reverse the given integer, then we just require to compare the current given number with the reversed number. If both the given number and the reversed number are the same, then the given integer is a palindrome otherwise it is not a palindrome.
Time Complexity: O(d) // where d is the number of digits in the integer.
Space Complexity: O(1) // As we are not taking any extra space, so it is a constant space.