当前位置: 首页 > article >正文

Leetcode 每日一题 125.验证回文串

问题定义

给定一个字符串s,我们需要判断它是否是一个回文串。但在此之前,我们需要将所有大写字符转换为小写字符,并移除所有非字母数字字符。只有经过这样处理后的字符串,我们才进行回文检测。

示例解析

以下是几个示例,帮助我们更好地理解这个问题:

  1. 输入: s = "A man, a plan, a canal: Panama"
    输出:true
    解释:移除非字母数字字符并转换为小写后,得到"amanaplanacanalpanama",这是一个回文串。

  2. 输入: s = "race a car"
    输出:false
    解释:处理后得到"raceacar",这不是一个回文串。

  3. 输入: s = " "
    输出:true
    解释:移除非字母数字字符后,得到空字符串"",空字符串被认为是回文串。

Java实现

在Java中,我们可以通过以下步骤实现回文串的检测:

  1. 将输入字符串转换为小写。
  2. 构建一个新的字符串,只包含字母和数字字符。
  3. 比较新字符串与其反转是否相等。

以下是具体的Java代码实现:

 

java

class Solution {
    public boolean isPalindrome(String s) {
        // 将字符串转换为小写
        s = s.toLowerCase();
        // 构建新的字符串,只包含字母和数字
        StringBuilder filtered = new StringBuilder();
        for (char c : s.toCharArray()) {
            if (Character.isLetterOrDigit(c)) {
                filtered.append(c);
            }
        }
        // 将过滤后的字符串与它的反转进行比较
        return filtered.toString().equals(new StringBuilder(filtered).reverse().toString());
    }
}

代码解析

  • s.toLowerCase():将输入字符串转换为小写,以忽略大小写的差异。
  • StringBuilder filtered:用于构建只包含字母和数字的新字符串。
  • Character.isLetterOrDigit(c):检查字符c是否为字母或数字,如果是,则添加到filtered中。
  • new StringBuilder(filtered).reverse().toString():获取filtered的反转字符串,并与原字符串进行比较。

http://www.kler.cn/a/396491.html

相关文章:

  • 探索IDE的无限可能:使用技巧与插件推荐
  • 如何保证MySQL与Redis缓存的数据一致性?
  • 从0开始学习机器学习--Day26--聚类算法
  • cls(c基础)
  • 关系型数据库和非关系型数据库详解
  • HarmonyOS Next 组件或页面之间的所有通信(传参)方法总结
  • PLC如何支持GEM300标准?SECS/GEM通讯协议
  • 卷积层(CNN)全面解析
  • 如何使用 python 中的 Pillow 创建可自定义的图标生成器
  • 软件工程视角:Git 基础与实践
  • NLP开发常见问题
  • 微信小程序之路由跳转传数据及接收
  • JWTUtil工具类
  • 加深深度学习矩阵计算理解--用人类直觉 走进线性代数(非应试)
  • 自存 关于RestController请求传参数 前端和后端相关
  • web——upload-labs——第五关——大小写绕过绕过
  • HarmonyOS本地存储-Preferences(用户首选项)的使用
  • MATLAB 使用教程 —— 常用函数
  • Git 时想要放弃当前的 commit 操作
  • Javaweb-day11案例(文件)
  • 基于stm32的智能变频电冰箱系统
  • 网络安全练习之 ctfshow_web
  • 力扣 LeetCode 232. 用栈实现队列(Day5:栈与队列)
  • STM32F4 RTC实时时钟STM32 Cube实例
  • 掌握ECMAScript模块化:构建高效JavaScript应用
  • React Native 全栈开发实战班 - 状态管理入门(Context API)