zoukankan      html  css  js  c++  java
  • leetcode算法题基础(七)双指针(三)125 题 验证回文串

    给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。

    说明:本题中,我们将空字符串定义为有效的回文串。

    示例 1:

    输入: "A man, a plan, a canal: Panama"
    输出: true
    示例 2:

    输入: "race a car"
    输出: false

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/valid-palindrome
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    class Solution:
        def isPalindrome(self, s: str) -> bool:
            # 双指针法
            low = 0
            high = len(s) -1
            while low < high :
                # low是非字母数字,向后走
                while low < high and not s[low].isalnum():
                    low +=1
                # high是非字母数字,向前走
                while low < high and not s[high].isalnum():
                    high -=1
                # 遇到是字母或者数字的情况
                # 需要字母忽略大小写
                if s[low].upper() != s[high].upper():
                    return False
                low += 1
                high -= 1
            return True

    注意:
    1、只考虑输入字符串中的字母和数字部分(空格,符号字符不考虑)
    2、忽略字母的大小写

    本文来自博客园,作者:秋华,转载请注明原文链接:https://www.cnblogs.com/qiu-hua/p/13998317.html

  • 相关阅读:
    通过梯度下降和logistic回归求w向量和b
    一个节点的神经网络的工作流程
    对神经网络大致框架的理解
    内置对象
    对象
    预解析
    作用域
    函数
    数组
    循环和代码规范
  • 原文地址:https://www.cnblogs.com/qiu-hua/p/13998317.html
Copyright © 2011-2022 走看看