125. Valid Palindrome python3

题目翻译:给定一个字符串,确定它是否是回文,只考虑字母数字,忽略大小写。

题目思路1:先过滤出左右的字母和字符构成新的字符串,然后定义两个指针 l 和 r ,l 从左向右遍历,r从右向左遍历,直到字符串中间。注意这个中间的定义需要考虑字符串长度的奇、偶性。

accepted 代码如下:

注意:

这里的字符不考虑大小写,因此在判断字符是否相同时,应该都转化成大写(str.upper())或者都转化成小写(str.lower())。

一般左右双指针的情况,多用while循环控制终止条件,每次遍历时控制指针的增减。

思路2:将过滤出左右的字母和字符构成新的字符串反转,判断反转前字符串和反转后字符串是否相等。

其中,str.isalnum()判断字符串是否由子母和数字组成。


新手写LeetCode,若有错误或者建议请告知。

你可能感兴趣的:(125. Valid Palindrome python3)