leetcode 125

2017-11-01  本文已影响0人  xbinng

判断是否为回文字符串

    def onlyNumOrChar(self,s):
        l=list()
        s=s.lower()
        for i in s:
            if i in 'abcdefghijklmnopqrstuvwxyz0123456789':
                l.append(i)
        return ''.join(l)
    def isPalindrome(self, s):
        """
        :type s: str
        :rtype: bool
        """
        s=self.onlyNumOrChar(s)
        if s==s[::-1]:
            return True
        return False

    def isPalindrome_2(self,s):
        i,j=0,len(s)-1
        while i<j:
            while i<j and not s[i].isalnum():
                i+=1
            while i<j and not s[j].isalnum():
                j-=1
            if s[i].lower()!= s[j].lower():
                return False
            i+=1
            j-=1
        return True

第一种方法先对字符串进行了处理,第二种比较好(两个指针)。

上一篇 下一篇

猜你喜欢

热点阅读