判断一个数是否为回文数可以使用以下算法:
- 将数字转化为字符串;
- 初始化左右两个指针,分别指向字符串的首尾;
- 循环比较左右指针指向的字符,如果相等则继续比较,直到左右指针相遇或者发现不相等的字符为止;
- 如果左右指针相遇,则说明数字是回文数,返回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是负数,则需要先将其转化为非负整数再进行比较。也可以将负数直接判断为非回文数。