有效回文串
来源:互联网 发布:关于大数据营销的案例 编辑:程序博客网 时间:2024/04/29 07:45
题目描述:给定一个字符串,判断其是否为一个回文串。只包含字母和数字,忽略大小写。
样例:
"A man, a plan, a canal: Panama" 是一个回文。
"race a car" 不是一个回文。
之前判断过一个链表十分是回文链表(详见:点击打开链接),字符串的判断比链表简单,因为可以从后往前回溯。
但是在这道题当中,空格,标点,以及其他非字母或数字的字符是不能算在内的,所以,我们考虑这样来设计:
还是两个指针,left和right,一个从左往右,一个从右往左遍历字符串,碰到非字母或数字的跳过,碰到字母或数字则进行比较。
代码如下:
class Solution: # @param {string} s A string # @return {boolean} Whether the string is a valid palindrome def isPalindrome(self, s): left, right = 0, len(s) - 1 while left < right: # 查找左边的是字母或数字的位置 while left < right and not s[left].isalnum(): left += 1 # 查找右边的是字母或数字的位置 while left < right and not s[right].isalnum(): right -= 1 # 若它们的小写形式不等,返回False if s[left].lower() != s[right].lower(): return False left += 1 right -= 1 return True # Write your code here
0 0
- 题目:有效回文串
- LintCode : 有效回文串
- LintCode_有效回文串
- LintCode-有效回文串
- 有效回文串
- lintcode --有效回文串
- 有效回文串
- 有效回文串
- 有效回文串
- 有效回文串
- 有效回文串,lintcode
- 判断有效回文串
- 有效回文串
- 有效回文串
- 有效回文串
- 有效回文串
- lintcode:有效回文串
- 有效回文串
- Intellij 快速解决
- float 12.5 和 float-12.5 在内存中的存储
- Java千百问_03基本语法(011)_final,finally,finalize有什么区别
- 高德地图:如果没有自己的key,会怎么样?
- SSH项目object references an unsaved transient instance - save the transient instance before flushing
- 有效回文串
- 使用OpenGL画 龙
- javaweb配置
- 《计算机组成与设计(硬件/软件接口)》读书笔记
- ExtJS创建Form表单
- 算法系列(一)基本概念
- spring(3)高级装配
- 传感器系列之4.1振动传感实验
- 飞花的鱼塘