zoukankan      html  css  js  c++  java
  • python_day_12:20180813

    125. 验证回文串
    给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。
    说明:本题中,我们将空字符串定义为有效的回文串。
    https://leetcode-cn.com/problems/valid-palindrome/description/

    思路:
    先把字符串中的数字和字母提取出来放到新列表中,然后从首位两个方向遍历比较元素,来判断是否是回文串

    class Solution:
        def isPalindrome(self, s):
            """
            :type s: str
            :rtype: bool
            """
            strs=[]
            for letter in s:
                if letter.isalpha() or letter.isdigit():
                    strs.append(letter.lower())
            if len(strs)>1:
                for j in range(int(len(strs)/2)+1):
                    if strs[j]!=strs[-j-1]:
                        return False
            return True
    

     

    680. 验证回文字符串 Ⅱ
    给定一个非空字符串 s,最多删除一个字符。判断是否能成为回文字符串。
    https://leetcode-cn.com/problems/valid-palindrome-ii/description/

    思路:
    题目要求最多删除一个字符,先进行双向遍历判断,找出相异位置,然后生成两个子串,分别是删掉前一个相异点和后一个相异点得到,最后用“或”条件来判断两个子串是否有回文字符串

    class Solution:
        def validPalindrome(self, s):
            """
            :type s: str
            :rtype: bool
            """
            if len(s)<=2:
                return True
            s1=""
            s2=""
    
            for i in range(len(s)//2+1):
                if s[i] != s[-i-1]:
                    s1=s[:i]+s[i+1:]
                    if i >0:
                        s2=s[:-i-1]+s[-i:]
                    else:
                        s2=s[:-1]
                    break
            return s1==s1[::-1] or s2==s2[::-1]
    

      

  • 相关阅读:
    javaEE(16)_Servlet监听器
    javaEE(15)_Servlet过滤器
    引用与指针的区别
    centos7 设置 查看 开机 启动项
    apache-httpd代理请求,selinux造成503问题的解决方法
    screen命令下,自启动设置
    PHP利用preg_split函数格式化日期
    PHP敏感信息脱敏函数
    php-sql-server-2017
    SQL Server修改表的模式schema
  • 原文地址:https://www.cnblogs.com/codeinpy/p/9471379.html
Copyright © 2011-2022 走看看