java现实回文数

java现实回文数

判断是否为回文数

问题描述

给定一个整数,编写一个函数来判断它是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

示例代码

public class PalindromeNumber {
    public static void main(String[] args) {
        System.out.println("123454321 是否为回文数=" + isPalindromeByInt(123454321));
        System.out.println("12345432 是否为回文数=" + isPalindromeByInt(12345432));
        System.out.println("12324 是否为回文数=" + isPalindromeByInt(12324));
        System.out.println("12 是否为回文数=" + isPalindromeByInt(12));
        System.out.println("1 是否为回文数=" + isPalindromeByInt(1));
        System.out.println("198765432 是否为回文数=" + isPalindromeByInt(198765432));
        System.out.println("----------------------------");
        System.out.println("1 是否为回文数=" + isPalindromeByString(1));
        System.out.println("0 是否为回文数=" + isPalindromeByString(0));
        System.out.println("11000 是否为回文数=" + isPalindromeByString(11000));
        System.out.println("12332 是否为回文数=" + isPalindromeByString(12332));
        System.out.println("123454321 是否为回文数=" + isPalindromeByString(123454321));
        System.out.println("198765432 是否为回文数=" + isPalindromeByString(198765432));
    }

    public static boolean isPalindromeByString(int num) {
        if (num < 0) {
            return false;
        }
        String str = String.valueOf(num);
        char[] chars = str.toCharArray();
        int len = chars.length;
        for (int i = 0; i < len; i++) {
            if (chars[i] != chars[len - i - 1]) {
                return false;
            }
        }
        return true;
    }

    public static boolean isPalindromeByInt(int num) {
        if (num < 0 || (num % 10 == 0 && num != 0)) {
            return false;
        }
        int revertedNumber = 0;
        while (num > revertedNumber) {
            revertedNumber = revertedNumber * 10 + num % 10;
            num /= 10;
        }
        return num == revertedNumber || num == revertedNumber / 10;
    }
}

复杂度分析

  • 时间复杂度:O(log10(n)),每次迭代都会将输入除以10。
  • 空间复杂度:O(1)。
### 运行结果

Read more

超棒的雅思资源!

超棒的雅思资源!

雅思真题材料地址: https://github.com/zeeklog/IETLS 感谢所有人。材料来自:@shah0150 & @kbtxwer * 超棒的雅思资源 * 雅思简介 * 听力 * 阅读 * 写作 * 口语 * 词汇 * 其他 * YouTube 频道 * [播客] (#podcasts) 雅思简介 * 什么是雅思 - 了解什么是雅思 听力 * 高级听力 * 雅思官方网站 * 考试英语 * 英国广播公司节目 * 乔治梅森大学口音学习网站 - 学习不同的口音 * 英国广播公司播客 * 英国文化协会听力练习 阅读 * 雅思提升阅读 写作 * 雅思提升写作 * 雅思从 6 分到 9 分 * 迷你雅思 口语 * Verbling 提供在线英语家教服务

By Ne0inhk
🚀Zeek.ai一款基于 Electron 和 Vite 打造的跨平台(支持 Windows、macOS 和 Linux) AI 浏览器

🚀Zeek.ai一款基于 Electron 和 Vite 打造的跨平台(支持 Windows、macOS 和 Linux) AI 浏览器

是一款基于 Electron 和 Vite 打造的跨平台(支持 Windows、macOS 和 Linux) AI 浏览器。 集成了 SearXNG AI 搜索、开发工具集合、 市面上最流行的 AI 工具门户,以及代码编写和桌面快捷工具等功能, 通过模块化的 Monorepo 架构,提供轻量级、可扩展且高效的桌面体验, 助力 AI 驱动的日常工作流程。

By Ne0inhk