LeetCode #Valid Palindrome#

LeetCode #Valid Palindrome#






我的Python解答:


"""
Programmer  :   EOF
e-mail      :   jasonleaster@gmail.com
Date        :   2015.04.07
File        :   vp.py
"""

import string

class Solution:

    def isPalindrome(self, s):
        length = len(s)
        left    = 0
        right   = length - 1
        while left < right:

            if self.isCharacter(s[left]) is False:
                left += 1
                continue

            if self.isCharacter(s[right]) is False:
                right -= 1
                continue

            if string.lower(s[left]) != string.lower(s[right]):
                return False

            left  +=  1
            right -=  1

        return True

    def isCharacter(self, c):
        if c is None:
            return False

        if (c <= 'z' and c >= 'a') or \
           (c <= 'Z' and c >= 'A') or \
           (c <= '9' and c >= '0'):
            return True

        return False

#---------------- just for testing --------------

s = Solution()
string_1 = "abcba"
print string_1
if s.isPalindrome(string_1) :
    print "is Palindrome"

string_1 = "ab"
print string_1
if s.isPalindrome(string_1) :
    print "is Palindrome"

string_1 = "1a2"
print string_1
if s.isPalindrome(string_1) :
    print "is Palindrome"





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值