Skip to content

Latest commit

 

History

History
56 lines (46 loc) · 1.93 KB

680.md

File metadata and controls

56 lines (46 loc) · 1.93 KB

✏️Leetcode基础刷题之(680. Valid Palindrome II)

2019-02-25 吴亲库里 库里的深夜食堂


✏️题目描述

,给定一个字符串,在能删除其中一个元素的情况下,判断他是不是回文字符串


✏️题目实例

给定'abca'本来不是一个回文字符串,当删除掉c之后就是一个回文字符串


✏️题目分析

while判断的是i的索引不大于j两个索引位置没有交汇,第一次比较的就是元素的第一个位置和元素的最后一个位置的值,如果他们相等说明此时一个回文字符串,位移元素判断,注意这路的++$i,和++$j,说明是先自增再进行赋值计算,然后is_valid()这个创建的函数是用来判断第二种情况,也就是一开始的字符串不是一个文字符串,通过位移某个字符串在进行判断是否为回文


✏️最终实现

  function validPalindrome($s) {
         $i=-1;$j=strlen($s);
        while(++$i < --$j){
            if($s[$i] !==$s[$j]){
                return ($this->is_valid($s,$i,$j-1) || $this->is_valid($s,$i+1,$j));
            }
        }
        return true;
       
    }
    function is_valid($s,$i,$j){
        while($i<$j){
            if($s[$i++] !== $s[$j--]){
                return false;
            }
        }
        return true;
    }

💾今天的数据库(620. Not Boring Movies)

💾题目描述

写一段sql来输出id是奇数,并且描述不能是boring,然后结果按照评分rating倒序排序。


💾最终实现sql

SELECT * FROM cinema WHERE id%2=1 AND description != 'boring' ORDER BY rating desc

联系