125. 验证回文串

[TOC]

题目

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

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

示例 1:

1输入: "A man, a plan, a canal: Panama" 2输出: true

示例 2:

1输入: "race a car" 2输出: false

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/valid-palindrome 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

解答

思路:

先根据ascii编码,将原本字符中的不需要的字符和大写的字母去掉或者替换掉,然后前后进行对比

leetcode解题

1class Solution: 2 def isPalindrome(self, s: str) -> bool: 3 s_x="" 4 for i in s: 5 ord_i = ord(i) 6 if 97<=ord_i<=122 or 48<=ord_i<=57: 7 s_x+=i 8 elif 65<=ord_i<=90: 9 s_x+=chr(ord_i+32) 10 for i in range(len(s_x)): 11 if s_x[i]!=s_x[-(i+1)]: 12 return False 13 return True
点赞
收藏

评论区

加载中...

相关推荐

【LeetCode每日一题 Day 5】5. 最长回文子串

大家好,我是编程熊,今天是LeetCode每日一题的第五天,一起学习LeetCode第五题《最长回文子串》。题意给你一个字符串s,找到s中最长的回文子串。示例txt输入:s"babad"输出:"bab"解释:"aba"同样是符合题意的答案。题解方法一采用简单暴力的方法,枚举每一个位置为单独回文中心(长度为奇数的子串,如aba)或者回文中心

动态规划之马拉车算法

问题描述:给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。如"abc"有三个回文子串‘a','b','c'.示例1:输入:"abc"输出:3解释:三个回文子串:"a","b","c"示例2:输入:"aaa"输出

Javascript数据验证类

/用途:检查输入字符串是否符合金额格式,格式定义为带小数的正数,小数点后最多三位输入:s:字符串返回:如果通过验证返回true,否则返回false/functionisMoney(s){varregu"^09\.09{

LeetCode 459. 重复的子字符串(Repeated Substring Pattern)

459\.重复的子字符串459\.RepeatedSubstringPattern题目描述给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母,并且长度不超过10000。<spanclass"badgebadgepillbadgedanger"LeetCod

Python中print格式化输出

截取字符串输出,下面例子将只输出字符串的前3个字母str"abcdefg"print"%.3s"%strabc按固定宽度输出,不足使用空格补全,下面例子输出宽度为10str"abcdefg"print

Java解决括号匹配算法问题

有效字符串需满足:左括号必须用相同类型的右括号闭合。包括:“()”,“\\”,“{}”。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。思路:在这里我们使用栈来实现。遍历字符串时判断:如果是左括号,那么我们将其入栈;如果为右括号,我们先判断栈是否为空(有可能字符串刚开始就是一个右括号呢),为空的话直接返回false,不为空