java实现回文数算法

判断一个数是否为回文数可以使用以下算法:

  1. 将数字转化为字符串;
  2. 初始化左右两个指针,分别指向字符串的首尾;
  3. 循环比较左右指针指向的字符,如果相等则继续比较,直到左右指针相遇或者发现不相等的字符为止;
  4. 如果左右指针相遇,则说明数字是回文数,返回true;否则,返回false。

以下是一个使用该算法的回文数判断的Java代码示例:

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是负数,则需要先将其转化为非负整数再进行比较。也可以将负数直接判断为非回文数。

相关推荐
不够优雅5 分钟前
【Concept Plugin 3】轻量级插件化解决方案|动态类加载
java·spring boot·spring cloud
程序员三明治1 小时前
选 Redis Stream 还是传统 MQ?队列选型全攻略(适用场景、优缺点与实践建议)
java·redis·后端·缓存·rocketmq·stream·队列
Cosmoshhhyyy4 小时前
《Effective Java》解读第5条:优先考虑依赖注入来引用资源
java
.柒宇.5 小时前
力扣hot100----15.三数之和(java版)
java·数据结构·算法·leetcode
程序员卷卷狗6 小时前
JVM 调优实战:从线上问题复盘到精细化内存治理
java·开发语言·jvm
cj6341181506 小时前
【MySQL】mysqldump使用方法
java·后端
JIngJaneIL6 小时前
停车场管理|停车预约管理|基于Springboot的停车场管理系统设计与实现(源码+数据库+文档)
java·数据库·spring boot·后端·论文·毕设·停车场管理系统
杰克尼7 小时前
二分查找为什么总是写错
java·数据结构·算法
半旧夜夏8 小时前
【分布式缓存】Redis持久化和集群部署攻略
java·运维·redis·分布式·缓存
短视频矩阵源码定制8 小时前
矩阵系统源码推荐:技术架构与功能完备性深度解析
java·人工智能·矩阵·架构