Java实现回文数算法

2023-12-26 08:29:24

回文数是指一个数字从左到右和从右到左读都是一样的数。也就是说正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,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为整数的长度。

文章来源:https://blog.csdn.net/m0_37649480/article/details/135191871
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。