当前位置:首页 > Java

java 如何实现回文

2026-03-24 10:26:09Java

判断字符串是否为回文

使用 StringBuilderreverse() 方法可以快速判断字符串是否为回文。将原字符串与反转后的字符串进行比较,若相同则为回文。

public static boolean isPalindrome(String str) {
    return str.equals(new StringBuilder(str).reverse().toString());
}

忽略大小写和空格

在比较前,可以统一转换为小写并移除空格,以忽略大小写和空格的影响。

java 如何实现回文

public static boolean isPalindromeIgnoreCase(String str) {
    String processed = str.replaceAll("\\s+", "").toLowerCase();
    return processed.equals(new StringBuilder(processed).reverse().toString());
}

数字回文判断

对于数字,可以将其转换为字符串后判断,或通过数学方法反转数字进行比较。

java 如何实现回文

public static boolean isNumericPalindrome(int num) {
    int original = num;
    int reversed = 0;
    while (num > 0) {
        reversed = reversed * 10 + num % 10;
        num /= 10;
    }
    return original == reversed;
}

递归方法

使用递归可以检查字符串的首尾字符是否相同,并逐步缩小检查范围。

public static boolean isPalindromeRecursive(String str) {
    if (str.length() <= 1) {
        return true;
    }
    if (str.charAt(0) != str.charAt(str.length() - 1)) {
        return false;
    }
    return isPalindromeRecursive(str.substring(1, str.length() - 1));
}

使用双指针

双指针法通过两个指针从字符串两端向中间移动,逐个比较字符。

public static boolean isPalindromeTwoPointer(String str) {
    int left = 0;
    int right = str.length() - 1;
    while (left < right) {
        if (str.charAt(left) != str.charAt(right)) {
            return false;
        }
        left++;
        right--;
    }
    return true;
}

分享给朋友:

相关文章

vue如何实现tap

vue如何实现tap

Vue 中实现类似移动端 tap 事件的方法 在 Vue 中可以通过以下几种方式实现类似移动端 tap(轻触)事件的效果: 使用第三方库 安装 v-tap 指令库可以快速实现 tap 事件: np…

如何实现语音react

如何实现语音react

语音识别基础设置 在React中实现语音识别功能通常需要借助浏览器的Web Speech API或第三方库。Web Speech API提供了SpeechRecognition接口,允许应用程序直接访…

vue如何实现高亮

vue如何实现高亮

实现文本高亮的方法 在Vue中实现文本高亮通常可以通过以下几种方式完成: 使用v-html指令结合字符串替换 通过将需要高亮的文本部分替换为HTML标签(如<span class="highl…

vue如何实现ifream

vue如何实现ifream

Vue 中实现 iframe 的方法 在 Vue 中可以通过多种方式实现 iframe 的嵌入和控制。以下是几种常见的方法: 使用 HTML 原生 iframe 标签 在 Vue 模板中直接使用…

java如何实现单点登录

java如何实现单点登录

单点登录(SSO)的基本概念 单点登录是一种用户认证机制,允许用户通过一次登录访问多个相互信任的应用系统。核心原理是通过共享认证状态(如Token或Cookie)实现跨系统身份验证。 基于Token…

vue如何实现拖拽

vue如何实现拖拽

实现拖拽的基本方法 在Vue中实现拖拽功能通常使用HTML5的Drag and Drop API或第三方库如vuedraggable。以下是两种方法的详细说明。 使用HTML5 Drag and D…