zoukankan      html  css  js  c++  java
  • leetcode——680.验证回文字符串2

    做了好久哦,一个多小时了都,才纠正过来。

    双指针!

    class Solution:
        def validPalindrome(self, s: str) -> bool:
            if s==s[::-1] :
                return True
            i,j=0,len(s)-1
            while i<j:
                if s[i]!=s[j]:
                    t=s[:i]+s[i+1:]
                    if t!=t[::-1]:
                        q=s[:j]+s[j+1:]
                        if q!=q[::-1]:
                            return False
                        else:
                            return True
                    else:
                        return True
                else:
                    i+=1
                    j-=1
    执行用时 :96 ms, 在所有 Python3 提交中击败了85.58%的用户
    内存消耗 :14.1 MB, 在所有 Python3 提交中击败了5.22%的用户
     
    看看人家60ms的范例:
    思路一样,但是就是比我简洁快捷明了:
    class Solution:
        def validPalindrome(self, s: str) -> bool:
            if s == s[::-1]:
                return True
            
            q = s[::-1]
            for i in range(len(s)):
                if s[i]!= q[i]:
                    if s[:len(s)-i-1]+s[len(s)-i:] == q[:i]+q[i+1:] or q[:len(s)-i-1]+q[len(s)-i:] == s[:i]+s[i+1:]:
                        return True
                    else:
                        return False

    人家先将s的倒序存为q:

    q = s[::-1]

    然后比较,将两个判断语句写在一起:

     if s[:len(s)-i-1]+s[len(s)-i:] == q[:i]+q[i+1:] or q[:len(s)-i-1]+q[len(s)-i:] == s[:i]+s[i+1:]:

    就这样完成了。

    人家64ms的范例思路也很巧妙:

    class Solution:
        def validPalindrome(self, s):
            if s == s[::-1]:
                return True
            l, r = 0, len(s) - 1
            while l < r:
                if s[l] == s[r]:
                    l, r = l + 1, r - 1
                else:
                    a = s[l + 1 : r + 1]
                    b = s[l:r]
                    return a == a[::-1] or b==b[::-1]

    真棒!!!

                                                    ——2019.10.9

    我的前方是万里征途,星辰大海!!
  • 相关阅读:
    blocksit.js插件瀑布流
    防止点浏览器返回按钮,返回上一页的JS方法
    jquery 换肤功能
    HTML5获取地理位置
    百度api定位
    网站如何做到完全不需要使用jQuery
    让网页变成灰色代码
    利用html标签限制搜索引擎对网站的抓取收录
    高清ICON SVG解决方案
    加载动画
  • 原文地址:https://www.cnblogs.com/taoyuxin/p/11643356.html
Copyright © 2011-2022 走看看