当前位置:首页 > 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如何实现重新实现主题

vue如何实现重新实现主题

动态主题切换的实现 在Vue中实现动态主题切换,通常需要结合CSS变量和状态管理。通过修改根元素的CSS变量值,可以全局改变应用的主题样式。 定义主题相关的CSS变量在根元素中: :root {…

h5如何实现蜡烛点亮

h5如何实现蜡烛点亮

实现蜡烛点亮的H5方法 在H5中实现蜡烛点亮效果,可以通过CSS动画、Canvas绘图或结合JavaScript交互来实现。以下是几种常见的方法: 使用CSS动画和JavaScript 通过…

vue如何实现加减

vue如何实现加减

在 Vue 中实现加减功能 使用数据绑定和事件处理 通过 Vue 的数据绑定和事件处理机制可以轻松实现加减功能。定义一个数据变量存储数值,通过方法增减该变量。 <template>…

java是如何实现跨平台的

java是如何实现跨平台的

Java 跨平台的实现原理 Java 实现跨平台的核心机制基于 “一次编写,到处运行” 的理念,主要通过以下技术实现: 字节码与 JVM Java 源代码编译后生成字节码(.class 文件),而非…

react如何实现keepalive

react如何实现keepalive

React 实现 KeepAlive 的方法 React 本身没有内置的 KeepAlive 组件,但可以通过以下方式模拟类似功能,实现组件状态保持或避免重复渲染。 使用 CSS 隐藏组件 通过 C…

vue如何实现编辑

vue如何实现编辑

实现编辑功能的步骤 在Vue中实现编辑功能通常涉及表单绑定、状态管理和事件处理。以下是常见的实现方式: 数据绑定与表单处理 使用v-model实现双向数据绑定,将编辑内容与Vue实例中的数据属性关联…