首页 > 其他分享 >leedcode 验证回文串

leedcode 验证回文串

时间:2024-02-26 10:47:20浏览次数:25  
标签:lower 验证 list leedcode 列表 char 字符串 回文

自己写的:

class Solution:
    def isPalindrome(self, s: str):
        # 将字符串转换为小写,以便进行大小写不敏感的比较
        s_lower = s.lower()
        
        # 获取字符串的长度
        n = len(s_lower)
        
        # 创建一个空列表,用于存储字母和数字
        s_list = []
        
        # 遍历字符串,将字母和数字添加到列表中
        for i in range(n):
            if s_lower[i].isalpha() or s_lower[i].isdigit():
                s_list.append(s_lower[i])
        
        # 如果列表为空,说明原始字符串中没有字母和数字,是回文字符串
        if not s_list:
            return True
        
        # 获取过滤后的列表的长度
        n_list = len(s_list)
        
        # 如果过滤后的列表只包含一个字符,也是回文字符串
        if n_list == 1:
            return True
        
        # 初始化首尾指针
        first = 0
        last = n_list - 1
        
        # 使用双指针法检查是否为回文字符串
        while first <= last:
            if s_list[first] == s_list[last]:
                first += 1
                last -= 1
            else:
                return False
        
        # 如果所有字符都匹配,是回文字符串
        return True

gpt改进:

class Solution:
    def isPalindrome(self, s: str):
        # 将字符串转换为小写,以便进行大小写不敏感的比较
        s_filtered = [char.lower() for char in s if char.isalnum()]

        # 如果过滤后的列表为空或者只包含一个字符,是回文字符串
        return s_filtered == s_filtered[::-1]

 

标签:lower,验证,list,leedcode,列表,char,字符串,回文
From: https://www.cnblogs.com/yyyjw/p/18033800

相关文章

  • 取消浏览器中记住密码自动填充时弹出Windows安全中心的验证
    1、......
  • leedcode 买卖股票的最佳时机
    暴力解法,最后内存爆了classSolution:defmaxProfit(self,prices):n=len(prices)ifn==1:return0ifn>1000:return3profit=[]foriinrange(n):cur=i+1whilecur......
  • 记一个前端验证
    物色目标hunter语法icp.name="职业学院"&&web.body="注册"&&web.body="登录"icp.name="学院"&&web.body="注册"&&web.body="登录"找一些没图标的老古董系统进去注册,有时候可以捡漏前端验证当返回包中参数为1时,就表示登录成功并跳转,用burp抓......
  • (26/60)组合总和、组合总和Ⅱ、分割回文串
    组合总和leetcode:39.组合总和回溯法思路在组合的基础上,只不过同一个数字可以重复选取,递归时传入i即可(组合是传入i+1)。复杂度分析时间复杂度:在最坏情况下,回溯算法会遍历所有可能的组合,因此时间复杂度取决于解的个数。假设候选数组的长度为n,目标值为target,最坏情况下解的......
  • 【Python】 回文数的四种解法
    回文数就是指整数倒过来和原整数相等。1234Example1:  Input:121Output:true12345Example2:  Input:-121Output:falseExplanation:Fromlefttoright,itreads-121.Fromrighttoleft,itbecomes121-.Therefore......
  • 代码随想录 day60 回文子串 最长回文子序列
    回文子串dp[i][j]:[i,j]范围内为回文子串递推式分三种情况①:ij相等显然是回文②:j-i<1且s[i]==s[j]显然是回文③:j-i>1且dp[i+1][j-1]为true也就是当前两端元素相同看元素内部是否是回文如果是显然是ij范围内是回文初始化必须初始化falset......
  • leedcode 杨辉三角-II
    自己写的:classSolution:defgetRow(self,rowIndex:int):#初始化一个列表以存储帕斯卡三角形的行li=[]#前两行是预定义的li.append([1])li.append([1,1])#rowIndex为0和1的基本情况ifrowIndex......
  • session验证与jwt验证
    简单谈谈session验证和jwt验证session验证简化版原理1.用户rds登录login页面,服务器向用户端发送一个sessionid,同时服务器创建一个和这个sessionid相关的会话信息(用于该用户下次session验证)2.用户再次登录或者访问授权页面,将sessionid发送到服务器3.服务器通过保留的会话信......
  • 代码随想录算法训练营第二十六天| 39. 组合总和 40.组合总和II 131.分割回文串
    组合总和题目链接:39.组合总和-力扣(LeetCode)思路:依然一是套用回溯模板,但是我们这里用回溯的是i而不是i+1,因为元素可以重复使用,注意for循环里if(sum(path)<=target)的等号不能少。classSolution{public:vector<int>path;vector<vector<int>>result;intsu......
  • 实名认证Api接口:验证身份证号码和姓名是否匹配成功
    实名认证是在互联网信息时代中,为了保障身份信息的正确性而进行的一种核验手段。实名认证可以有效防止虚假身份的使用,维护公共利益和个人权益的安全。在很多互联网应用中,实名认证已经成为了一个非常重要的环节。在开发过程中,我们经常需要通过API接口来实现实名认证功能。其中,验证......