当前位置:首页 > Java

java如何判断回文

2026-03-22 05:27:04Java

判断字符串是否为回文的方法

回文是指正读和反读都相同的字符串。以下是几种在Java中判断字符串是否为回文的方法:

方法一:使用StringBuilder反转字符串

创建一个StringBuilder对象,利用其reverse()方法反转字符串,然后与原字符串比较。

java如何判断回文

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

方法二:双指针法

使用两个指针,一个从字符串开头向后移动,另一个从末尾向前移动,逐个比较字符。

java如何判断回文

public static boolean isPalindrome(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;
}

方法三:递归方法

通过递归方式比较字符串的首尾字符,逐步缩小检查范围。

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

方法四:忽略大小写和非字母数字字符

在实际应用中,可能需要忽略大小写和非字母数字字符。可以使用正则表达式预处理字符串。

public static boolean isPalindrome(String str) {
    String cleaned = str.replaceAll("[^a-zA-Z0-9]", "").toLowerCase();
    String reversed = new StringBuilder(cleaned).reverse().toString();
    return cleaned.equals(reversed);
}

注意事项

  • 以上方法默认区分大小写,如需忽略大小写,可以在比较前将字符串转换为统一大小写。
  • 对于包含空格或标点符号的字符串,需要先进行清理。
  • 双指针法和StringBuilder反转法的时间复杂度均为O(n),但双指针法空间复杂度更低。

分享给朋友:

相关文章

react 如何判断空

react 如何判断空

判断空值的常见方法 在React中判断变量或状态是否为空,可以通过以下方法实现: 检查null或undefined if (value === null || value === undefine…

如何判断react初次渲染

如何判断react初次渲染

判断 React 初次渲染的方法 React 组件在挂载时会经历初次渲染(首次渲染)和后续更新渲染。以下是几种判断组件是否处于初次渲染阶段的常见方法: 使用 useEffect 钩子 useEf…

如何判断react加载完成

如何判断react加载完成

判断 React 组件加载完成的方法 使用 componentDidMount 生命周期方法 在类组件中,componentDidMount 是组件挂载到 DOM 后触发的生命周期方法。在此方法内执行…

react如何判断是否是整数

react如何判断是否是整数

判断整数的方法 在React中判断一个值是否为整数,可以通过JavaScript的原生方法实现。以下是几种常见的方法: 使用Number.isInteger()方法 该方法直接判断传入的值是否为整数…

react如何判断回退路由

react如何判断回退路由

判断回退路由的方法 在React中,可以通过react-router提供的API或自定义逻辑来判断用户是否执行了回退操作(例如点击浏览器的后退按钮)。以下是几种实现方式: 使用useNavigate…

react如何判断是否有key

react如何判断是否有key

判断 React 元素是否有 key 的方法 在 React 中,可以通过直接检查元素的 key 属性来判断是否存在。React 元素的 key 通常作为 props 的一部分传递,但需要注意处理方式…