Palindrome Number Leetcode | 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 while123
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
Solutions
✅Time: O(logx)
✅Space: O(logx)
C++
class Solution {
public:
bool isPalindrome(int x) {
if (x < 0)
return false;
long reversed = 0;
int y = x;
while (y) {
reversed = reversed * 10 + y % 10;
y /= 10;
}
return reversed == x;
}
};
Java
class Solution {
public boolean isPalindrome(int x) {
if (x < 0)
return false;
long reversed = 0;
int y = x;
while (y > 0) {
reversed = reversed * 10 + y % 10;
y /= 10;
}
return reversed == x;
}
}
Python
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
numToIndex = {}
for i, num in enumerate(nums):
if target - num in numToIndex:
return numToIndex[target - num], i
numToIndex[num] = i
Watch Tutorial
Checkout more Solutions here