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

LeetCode第9题回文数Python代码求助:本地正常但平台提交失败

LeetCode第9题「回文数」代码问题排查

问题说明

刚学习Python,在解决LeetCode第9题「回文数」时遇到问题:在Colab中设置变量x=121运行代码完全正常,但将代码复制到LeetCode提交时答案错误,仅判断结果为False的情况正确。

Colab运行代码

x = -101
x_string = str(x)
original = []
new = []
print(len(x_string))
for i in range(0,len(x_string)):
  original.append(x_string[i])
for i in reversed(original):
  new.append(i)
print(original == new)

LeetCode提交代码

class Solution(object):
    def isPalindrome(self, x):
        x_string = str(x)
        original = []
        new = []
        for i in range(0,len(x_string)):
            original.append(x_string[i])
        for i in reversed(original):
            new.append(i)
        print(original == new)

问题原因与修复

LeetCode的题目要求函数返回布尔值(True/False),但当前代码仅用print(original == new)输出结果,没有通过return返回这个布尔值。LeetCode判题系统会读取函数的返回值,未显式返回时函数默认返回None,这就导致正确结果应为True时,系统接收不到正确的返回值,判定为错误;只有当print的结果是False时,看起来正确但本质逻辑错误。

修复后的代码只需将print替换为return:

class Solution(object):
    def isPalindrome(self, x):
        x_string = str(x)
        original = []
        new = []
        for i in range(len(x_string)):
            original.append(x_string[i])
        for i in reversed(original):
            new.append(i)
        return original == new

代码优化(可选)

可以简化逻辑,直接利用Python字符串的切片特性反转字符串,代码更简洁高效:

class Solution(object):
    def isPalindrome(self, x):
        x_str = str(x)
        return x_str == x_str[::-1]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 23:45:06