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.
求出回文数对比
将数字反转进行对比。可以参考LeetCode 7
1 2 3 4 5 6 7 8 9 10 11 12 13 14
publicbooleanisPalindrome(int x){ if(x < 0){ returnfalse; } int res = 0; int y = x; while(y != 0){ res = res* 10 + (y % 10); y = y/10; } return x==res; }
数字转字符串
将数字转换成字符串,然后使用两个指针。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
if(x < 0 || x >= Integer.MAX_VALUE){ returnfalse; } String s = String.valueOf(x); int len = s.length(); int left = 0; int right = len -1; while(left < right){ if(s.charAt(left) != s.charAt(right)){ returnfalse; } left++; right--; } returntrue; }