Determine whether an integer is a palindrome. An integer is a palindrome when it reads the same backward as forward.
Example 1:
Input: 121 Output: true 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. Example 3:
Input: 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?
public class Solution {
public bool IsPalindrome(int x) {
if(x<0){
return false;
}
int temp = x;
int rev = 0;
while(temp>0){
int lsd = temp%10;
rev = rev*10+lsd;
temp=temp/10;
}
return x==rev;
}
}
Time Complexity: O(n)
Space Complexity: O(1)


