您的位置:首页 > 其它

leetcode125. Valid Palindrome

2016-07-02 09:49 183 查看
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.

ord(‘A’)=65

ord(‘Z’)=90

ord(‘a’)=97

ord(‘z’)=122

ord(‘0’)=48

ord(‘9’)=57

char2int:ord

int2char:chr

注意字母大小写

class Solution(object):
def isPalindrome(self, s):
"""
:type s: str
:rtype: bool
"""
if not len(s) or len(s)==1:
return True
tmp=[]
for i in s:
if (ord(i)>=65 and ord(i)<=90) or (ord(i)>=97 and ord(i)<=122) or (ord(i)>=48 and ord(i)<=57):
tmp.append(i)
i=0;j=len(tmp)-1
while(i<j):
if  (ord(tmp[i])>=48 and ord(tmp[i])<=57) or (ord(tmp[j])>=48 and ord(tmp[j])<=57):
if tmp[i]!=tmp[j]:
return False
if abs(ord(tmp[i])-ord(tmp[j]))%32!=0:
return False
i=i+1;j=j-1
return True
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode