![](https://img.haomeiwen.com/i15042957/9983dcc169b7da3b.png)
题目翻译:给定一个字符串,确定它是否是回文,只考虑字母数字,忽略大小写。
题目思路1:先过滤出左右的字母和字符构成新的字符串,然后定义两个指针 l 和 r ,l 从左向右遍历,r从右向左遍历,直到字符串中间。注意这个中间的定义需要考虑字符串长度的奇、偶性。
accepted 代码如下:
![](https://img.haomeiwen.com/i15042957/0054c2b9073fa062.png)
注意:
这里的字符不考虑大小写,因此在判断字符是否相同时,应该都转化成大写(str.upper())或者都转化成小写(str.lower())。
一般左右双指针的情况,多用while循环控制终止条件,每次遍历时控制指针的增减。
思路2:将过滤出左右的字母和字符构成新的字符串反转,判断反转前字符串和反转后字符串是否相等。
其中,str.isalnum()判断字符串是否由子母和数字组成。
![](https://img.haomeiwen.com/i15042957/67bb0108c2794894.png)
新手写LeetCode,若有错误或者建议请告知。
网友评论