美文网首页
leetcode 125

leetcode 125

作者: xbinng | 来源:发表于2017-11-01 14:38 被阅读0次

判断是否为回文字符串

    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

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

相关文章

网友评论

      本文标题:leetcode 125

      本文链接:https://www.haomeiwen.com/subject/ttqgpxtx.html