前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[LeetCode 验证回文串] | 刷题打卡

[LeetCode 验证回文串] | 刷题打卡

作者头像
微芒不朽
发布2022-09-13 10:04:20
5040
发布2022-09-13 10:04:20
举报

一、题目描述:

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

说明:本题中,我们将空字符串定义为有效的回文串。

示例 1:

代码语言:javascript
复制
输入: "A man, a plan, a canal: Panama"
输出: true

示例 2:

代码语言:javascript
复制
输入: "race a car"
输出: false

二、思路分析:

1.验证有效字符并以小写或者大写形式存储起来

2.利用双指针将首位元素进行对比,全部对应位置上相同判断为回文字符串

三、AC 代码:

javascript

代码语言:javascript
复制
/**
 * @param {string} s
 * @return {boolean}
 */
var isPalindrome = function (s) {
    let isValidElem = (s) => {
        let str = 'qwertyuioplkjhgfdsazxcvbnm1234567890QWERTYUIOPLKJHGFDSAZXCVBNM' //有效的字符
        return str.indexOf(s) > -1 //判断是否为有效字符
    }
    let stack = [] //存储有效字符串
    for (let i = 0; i < s.length; i++) {
        if (isValidElem(s[i])) {
            stack.push(s[i].toLocaleLowerCase()) //小写字母存储有效字符串
        }
    }
    let left = 0, right = stack.length - 1; //双指针
    while (left < right) {
        if (stack[left] !== stack[right]) return false
        left++ //左指针
        right-- //右指针
    }
    return true
};

python

代码语言:javascript
复制
class Solution(object):
    def isPalindrome(self, s):
        """
        :type s: str
        :rtype: bool
        """
        def isValidElem(self, s1): ##判断是否为有效字符串
            return '0' <= s1 <= '9' or 'a' <= s1 <= 'z' or 'A' <= s1 <= 'Z'

        stack = [] ## 存储有效字符串
        for i in range(len(s)):
            if isValidElem(self,s[i]):
                stack.append(s[i].lower()) ## 小写提出有效字符串

        left, right = 0, len(stack)-1 ## 双指针遍历
        while left < right:
            if stack[left] != stack[right]: ## 判断首尾是否相同
                return False
            left +=1
            right-=1
        return True
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 叫我詹躲躲 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、题目描述:
  • 二、思路分析:
  • 三、AC 代码:
  • javascript
  • python
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档