⭐北邮复试刷题LCR 018. 验证回文串__双指针 (力扣119经典题变种挑战)

这篇具有很好参考价值的文章主要介绍了⭐北邮复试刷题LCR 018. 验证回文串__双指针 (力扣119经典题变种挑战)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

LCR 018. 验证回文串

给定一个字符串 s ,验证 s 是否是 回文串 ,只考虑字母和数字字符,可以忽略字母的大小写。

本题中,将空字符串定义为有效的 回文串 。

示例 1:
输入: s = “A man, a plan, a canal: Panama”
输出: true
解释:“amanaplanacanalpanama” 是回文串

示例 2:
输入: s = “race a car”
输出: false
解释:“raceacar” 不是回文串

提示:
1 <= s.length <= 2 * 105
字符串 s 由 ASCII 字符组成

题解:

我们先将字符串转换成小写,再去除除数字和字母之外的其他字符,使用双指针比对即可;

代码:

class Solution {
    public boolean isPalindrome(String s) {
        String temp = change(s);
        int i = 0;
        int j = temp.length() - 1;

        while(i<j){
            if(temp.charAt(i) != temp.charAt(j)){
                return false;
            }
            i++;
            j--;
        }

        return true;
    }

    public String change(String s){
        String s0 = s.toLowerCase();
        StringBuffer res = new StringBuffer();
        for(int i=0;i<s.length();i++){
            if((s0.charAt(i) >= 'a' && s0.charAt(i) <= 'z') || (s0.charAt(i) >= '0' && s0.charAt(i) <= '9')){
                res.append(s0.charAt(i));
            }
        }
        return res.toString();
    }
}

结果:

⭐北邮复试刷题LCR 018. 验证回文串__双指针 (力扣119经典题变种挑战),Leetcode每日刷题,# 双指针,# 字符串处理,leetcode,算法,java,北邮,Java,双指针文章来源地址https://www.toymoban.com/news/detail-836984.html

到了这里,关于⭐北邮复试刷题LCR 018. 验证回文串__双指针 (力扣119经典题变种挑战)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 力扣刷题笔记-05 最长回文子串

    半山腰有点拥挤,你要去山顶看看。 什么是回文 从左边出发,字符的顺序和从右边出发是一样的,比如aba,abba。那么基于这个理论,我们就可以想到解决方案: 找一个中心点,向两边出发,左右两边各移动一位,如果相同就证明是回文子串,不相同就停止,找下一个中心点

    2024年02月08日
    浏览(35)
  • 【leetcode 力扣刷题】回文串相关题目(KMP、动态规划)

    题目链接:5. 最长回文子串 题目内容: 题目就是要我们找s中的回文子串,还要是最长的。其实想想,暴力求解也行……就是遍历所有的子串,同时判断是不是回文串,是的话再和记录的最大长度maxlen比较,如果更长就更新。时间复杂度直接变成O(n^3)。 优化的点在于,假设子

    2024年02月09日
    浏览(34)
  • 【力扣刷题】回文链表、环形链表、合并两个有序链表

    🐌个人主页: 🐌 叶落闲庭 💨我的专栏:💨 c语言 数据结构 javaEE 操作系统 Redis 石可破也,而不可夺坚;丹可磨也,而不可夺赤。 给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。 首先是要对该链表进行非空校验,若

    2024年02月07日
    浏览(31)
  • 【面试经典150 | 双指针】验证回文串

    本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢迎催更…… 专栏内容以分析题目为主,并附带一些对于本题涉及到的数据结构等内容进行回顾与总结,文章结构大致如下: Tag:介绍本题牵涉到的知识点、数据结构; 题目来源:贴上题目的链接,方

    2024年02月09日
    浏览(27)
  • LCR 027. 回文链表

    题目链接:LCR 027. 回文链表 注:该题与 234. 回文链表完全一样 代码如下:

    2024年02月07日
    浏览(27)
  • #力扣:LCR 182. 动态口令@FDDLC

    LCR 182. 动态口令 一、Java 二、C++ 三、Python 四、JavaScript 五、Go

    2024年02月07日
    浏览(67)
  • 力扣LCR 166. 珠宝的最高价值(java 动态规划)

    Problem: LCR 166. 珠宝的最高价值 改题目与本站64题实质上是一样的,该题目在64题的基础上将求取 最小路径和 改成了求取 最大路径和 。具体实现思路如下: 1.定义一个int类型的二维数组dp大小为给定矩阵frame的行数与列数。该数组用于记录每个当前阶段的 最大路径和 (也是本

    2024年02月01日
    浏览(33)
  • 【LeetCode力扣】LCR170 使用归并排序的思想解决逆序对问题(详细图解)

    目录 1、题目介绍 2、解题思路 2.1、暴力破解法 2.2、归并排序思想 2.2.1、画图详细讲解 2.2.2、归并排序解决逆序对的代码实现 首先阅读题目可以得出要点,即当 前数 大于 后数 时则当作一个【逆序对】,而题目是要求在一个数组中计算一共存在多少个这样的逆序对并输出结

    2024年02月08日
    浏览(32)
  • LeetCode刷题 | 647. 回文子串、516. 最长回文子序列

    给你一个字符串  s  ,请你统计并返回这个字符串中  回文子串  的数目。 回文字符串  是正着读和倒过来读一样的字符串。 子字符串  是字符串中的由连续字符组成的一个序列。 具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。

    2024年02月12日
    浏览(34)
  • 算法刷题|647.回文子串、516.最长回文子序列

    题目:给你一个字符串 s ,请你统计并返回这个字符串中 回文子串 的数目。 回文字符串 是正着读和倒过来读一样的字符串。 子字符串 是字符串中的由连续字符组成的一个序列。 具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。 d

    2024年02月17日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包