题目要求判断一个整数是不是回文数,假设输入是1234321,就返回true,输入的是123421,就返回false。题目要求in-place,思路其实很简单,在LeetCode(7)里面我们刚好做了reverse integer,我们就可以利用reverse integer得到一个reverse number,然后和输入作对比,如果与输入一致,则返回true,如果不一致,则返回false。代码如下:
1 public class Solution { 2 public boolean isPalindrome(int x) { 3 if (x < 0) return false; 4 int reverse = reverse(x); 5 if (reverse == x) return true; 6 else return false; 7 } 8 9 private int reverse(int x) { 10 int reverse = 0; 11 while (x > 0) { 12 reverse = reverse * 10 + x % 10; 13 x = x / 10; 14 } 15 if (reverse < 0) return -1; 16 else return reverse; 17 } 18 }