回文数是指一个数字从左到右和从右到左读都是一样的数。也就是说正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121、12321是回文数,而12345不是回文数。
回文数的判断算法可以通过将整数转化为字符串,然后判断字符串是否是回文字符串来实现。具体实现如下:
public class PalindromeNumber {
public static boolean isPalindrome(int num) {
String str = String.valueOf(num);
int left = 0;
int right = str.length() - 1;
while (left < right) {
if (str.charAt(left) != str.charAt(right)) {
return false;
}
left++;
right--;
}
return true;
}
public static void main(String[] args) {
int num = 12321;
System.out.println(isPalindrome(num)); // Output: true
}
}
上述算法首先将整数转化为字符串,然后使用两个指针分别指向字符串的首尾。在每一次循环中,比较指针指向的字符是否相等,如果不相等,则说明整数不是回文数。如果所有字符都相等,循环结束后返回true,说明整数是回文数。
注意:上述算法的时间复杂度为O(n),其中n为整数的长度。