You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python3回文字符串校验代码异常:非回文串返回True问题排查

回文校验代码问题排查

核心错误原因

你代码的问题出在字符串拼接环节:

  • string.join(x)的用法不符合预期。str.join(iterable)是Python的字符串拼接方法,作用是将可迭代对象iterable里的所有元素,用调用方法的字符串str作为分隔符拼接为新字符串,该方法不会修改原字符串变量,只会返回新的拼接结果。
  • 你的代码没有接收join方法的返回值,所以string变量始终是初始化的空字符串'',空字符串反转后还是空串,因此无论输入什么内容,判断结果永远是True。你测试第一个用例返回正确只是巧合,因为第一个用例本身的预期结果就是True。

修复方案

把string.join(x)替换为直接拼接字符串的逻辑即可,修复后完整代码如下:

class Solution:
    def isPalindrome(self, s: str) -> bool:
        string=''
        ss=s.lower()
        
        for x in ss:
            if x.isalnum():
                string += x
        bol = string == string[::-1]
                
        return bol

修复后测试结果

  • 输入"A man, a plan, a canal: Panama",返回True,符合预期
  • 输入"race a car",返回False,符合预期

内容的提问来源于stack exchange,提问作者Jaswanth Reddy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 18:45:03