判断一个数是否为回文数可以使用以下算法:
- 将数字转化为字符串;
- 初始化左右两个指针,分别指向字符串的首尾;
- 循环比较左右指针指向的字符,如果相等则继续比较,直到左右指针相遇或者发现不相等的字符为止;
- 如果左右指针相遇,则说明数字是回文数,返回true;否则,返回false。
以下是一个使用该算法的回文数判断的Java代码示例:
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;
boolean isPalindrome = isPalindrome(num);
System.out.println(isPalindrome); // 输出 true
}
}
注意:上述代码假设输入的num是非负整数。如果输入的num是负数,则需要先将其转化为非负整数再进行比较。也可以将负数直接判断为非回文数。