125. Valid Palindrome
来源:互联网 发布:男士商务双肩包 知乎 编辑:程序博客网 时间:2024/06/06 02:39
Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.
For example,"A man, a plan, a canal: Panama"
is a palindrome."race a car"
is not a palindrome.
Note:
Have you consider that the string might be empty? This is a good question to ask during an interview.
For the purpose of this problem, we define empty string as valid palindrome.
java
class Solution { public boolean isPalindrome(String s) { if (s == null || s.length() == 0 || s.length() == 1) { return true; } s = s.trim().toLowerCase(); int left = 0, right = s.length() - 1; while (left < right) { while (left < right && !isValid(s.charAt(left))) { left++; } while (left < right && !isValid(s.charAt(right))) { right--; } if (left < right && s.charAt(left) != s.charAt(right)) { return false; } left++; right--; } return true; } private boolean isValid(char c) { return Character.isLetter(c) || Character.isDigit(c); }}
class Solution(object): def isPalindrome(self, s): """ :type s: str :rtype: bool """ if s == None or len(s) == 0 or len(s) == 1: return True s = s.lower() left, right = 0, len(s) - 1 while left < right: while left < right and not(s[left].isalpha() or s[left].isdigit()): left += 1 while left < right and not(s[right].isalpha() or s[right].isdigit()): right -= 1 if left < right and s[left] != s[right]: return False left += 1 right -= 1 return True
阅读全文
0 0
- [LeetCode]125.Valid Palindrome
- LeetCode 125. Valid Palindrome
- [Leetcode] 125. Valid Palindrome
- 【LeetCode】125.Valid Palindrome
- [leetcode] 125.Valid Palindrome
- 125. Valid Palindrome
- [leetcode] 125.Valid Palindrome
- Leetcode 125. Valid Palindrome
- 125. Valid Palindrome
- 125. Valid Palindrome LeetCode
- 125. Valid Palindrome
- 【LeetCode】125. Valid Palindrome
- 125. Valid Palindrome
- 125. Valid Palindrome
- Leetcode 125. Valid Palindrome
- LeetCode 125. Valid Palindrome
- LeetCode 125. Valid Palindrome
- LeetCode *** 125. Valid Palindrome
- 实验4:栈和队列的基本操作实现及其应用——循环队列
- [FMT][DP] BZOJ 4036: [HAOI2015]按位或
- 配置keepalived
- MapReduce 2.0应用场景和原理、基本架构和编程模型
- 再论数据科学竞赛中的Data Leakage
- 125. Valid Palindrome
- BZOJ3594[Scoi2014] 方伯伯的玉米田 解题报告【二维树状数组优化DP】
- springMVC 上传图片
- 【裸】线段树模板
- 微信分享接口示例(设置标题、缩略图、连接、描述),附demo下载
- Arm学习
- compile pcl 1.8.1 from source code on ubuntu 16.04
- C++——【USACO 4.2.3】——Job Processing
- 实验环境安装CenOS 7