首页 > 其他分享 >LeetCode 125 验证回文串

LeetCode 125 验证回文串

时间:2023-10-09 11:55:22浏览次数:38  
标签:str LeetCode 125 && processedStr 回文

LeetCode 125 验证回文串

1. 题目地址

https://leetcode.cn/problems/valid-palindrome/?envType=study-plan-v2&envId=top-interview-150

2. 题解

    这道题比较简单,思路如下:
        1.  对源字符串进行处理,过滤掉非字母数字字符。这里需要注意:我们要将大写字母统一转换成小写。
        2.  处理过后,声明两个指针,让其相向而行。如果在移动的过程中,二者不等,那么不是回文串。如果移动过后(j < i时),二者仍然相等,那么就是回文串。其中,i代表第一个位置,j代表最后一个位置。

3. 代码

class Solution {
public:
    bool check(char str){
        if((str >= 'A' && str <= 'Z') || (str >= 'a' && str <= 'z') || (str >= '0' && str <= '9')){
            return true;
        }else{
            return false;
        }
    }
    bool isPalindrome(string s) {
        string processedStr = "";
        //去除非字符数字字符
        for(int i = 0; i < s.size(); i ++){
            if(check(s[i])){
                if(s[i] >= 'A' && s[i] <= 'Z'){
                    processedStr += s[i] + 32;
                }else{
                    processedStr += s[i];
                }
            }
        }
        //如果处理后为空字符串,则直接为回文串
        if(processedStr == ""){
            return true;
        }
        //使用双指针算法判断回文串
        for(int i = 0, j = processedStr.size() - 1; j >= i; j --,i++){
            if(processedStr[i] != processedStr[j]){
                return false;
            }
        }
        return true;
    }
};

标签:str,LeetCode,125,&&,processedStr,回文
From: https://www.cnblogs.com/gao79135/p/17751346.html

相关文章

  • LeetCode 58 最后一个单词的长度
    LeetCode58最后一个单词的长度1.题目地址https://leetcode.cn/problems/length-of-last-word/description/?envType=study-plan-v2&envId=top-interview-1502.题解这道题由于要求最后一个单词的长度,因此我们可以从后往前遍历。在遍历的时候统计字符的个数即可。遇......
  • 【LeetCode】最小处理时间
    题目你有n颗处理器,每颗处理器都有4个核心。现有n*4个待执行任务,每个核心只执行一个任务。给你一个下标从0开始的整数数组processorTime,表示每颗处理器最早空闲时间。另给你一个下标从0开始的整数数组tasks,表示执行每个任务所需的时间。返回所有任务都执行完......
  • 算法训练day29 LeetCode 39.40.131
    算法训练day29LeetCode39.40.13139.组合总和题目39.组合总和-力扣(LeetCode)题解代码随想录(programmercarl.com)classSolution{private:vector<vector<int>>result;vector<int>path;voidbacktracking(vector<int>&candidates,......
  • 安全工具合集:125个最佳网络安全工具-SecToolsOrg
    SecToolsOrg是什么SecToolsOrg是一个国外网友创建的安全工具网站,收集了125个最佳网络安全工具,网站为英文语言,网站提供评级、评论、搜索、排序和新工具建议表,该站点允许在任何平台上使用开源和商业工具,每款软件工具都有详细的介绍截图等等,感兴趣的同学可以到网站学习。英文页面......
  • P6346 [CCO2017] 专业网络 & CF1251E1 Voting(Easy Version)
    analysis这个题目我们可以考虑用贪心来做。我们不难看出来,这个题目是要让我们推出这么个结论:花小钱,办大人。整体贪心的思路就出来了,然后就是实现部分。因为我们认识的人随便是谁都可以。所以我们如果要买肯定是买最便宜的。这个性质可以用小根堆来维护。同时我们还可以维护我......
  • LeetCode——98. 验证二叉搜索树
    98.验证二叉搜索树本次博客,我将记录验证二叉搜索树由于二叉搜索树的性质是每个节点的左子树中的全部节点数据小于它,而右子树中的全部节点的数据都大于它,因此可以通过这条性质来进行判断刚上手的时候直接就做了,没考虑到局部最优而非全局最优的情况,遇到这种测试用例直接寄了:是......
  • LeetCode 13 罗马数字转整数
    LeetCode13罗马数字转整数1.题目地址https://leetcode.cn/problems/roman-to-integer/description/2.题解这道题的解题过程非常简单,具体如下:1.我们需要将罗马数字对应的数,存到一个哈希表中。待用到时,直接使用即可。2.对于正常情况讲(前面......
  • [Leetcode Weekly Contest]365
    链接:LeetCode[Leetcode]2873.有序三元组中的最大值I给你一个下标从0开始的整数数组nums。请你从所有满足i<j<k的下标三元组(i,j,k)中,找出并返回下标三元组的最大值。如果所有满足条件的三元组的值都是负数,则返回0。下标三元组(i,j,k)的值等于(nums[i]......
  • manacher 回文串处理算法
    忘了具体什么时候写的,应该是2023.8初这算是个算法复习,因为我太菜了以前学的都不会了。manacher回文串处理算法其实这个我已经看两天了却一直没有看懂,觉得自己很愚笨,结果发现是自己一直不想去理解吧,然后今天仔细研究了以后发现就是那么个东西,没有什么很深奥的东西,那就自己整......
  • 2023中大厂Android面试八股文合集,GitHub,牛客,leetcode已爆火!
    前言金九银十已过半,不知道大家现在都到哪个阶段了,有没有已经找到心仪的工作的朋友?有没有还没准备好面试在各大平台找资料临时抱佛脚的朋友?或是现在在准备,想要明年金三银四跳槽的朋友?不管你是现在急切找工作还是找资料备战,我都非常推荐你看看我花2个多月从GitHub,牛客,leetcode上为大......