Determine whether an integer is a palindrome. An integer is a palindrome when it reads the same backward as forward.
Example 1:
1 2
**Input:** 121 **Output:** true
Example 2:
1 2 3
**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:
1 2 3
**Input:** 10 **Output:** false **Explanation:** Reads 01 from right to left. Therefore it is not a palindrome.
Follow up:
Coud you solve it without converting the integer to a string?
Solution
Language: Java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
classSolution { publicbooleanisPalindrome(int x) { if (x < 0) { returnfalse; } Strings= Integer.toString(x); inti=0, j = s.length() - 1; while (i < j) { if (s.charAt(i++) != s.charAt(j--)) { returnfalse; } } returntrue; } }
1 2 3 4 5 6 7 8 9 10 11 12 13 14
classSolution { publicbooleanisPalindrome(int x) { if (x < 0) { returnfalse; } longa= x; longb=0; while (a != 0) { b = b * 10 + a % 10; a /= 10; } return b == x; } }