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

LeetCode Python题解模板疑问:是否必须采用OOP格式?

关于LeetCode Python题解中class Solution:格式的说明

1. 该格式是必须遵守的

LeetCode的判题系统有固定调用逻辑:它会自动实例化Solution类,然后调用题目指定的方法(比如lengthOfLastWord、plusOne)来执行你的代码并验证结果。如果不按这个格式编写,判题系统找不到对应的方法入口,会直接报错。

判题系统的调用逻辑大致如下:

# 判题系统内部执行逻辑
test_input = "Hello World"
sol_instance = Solution()
your_result = sol_instance.lengthOfLastWord(test_input)
# 对比your_result与标准答案

2. 可自由编写核心逻辑,并非强制OOP

这个格式只是入口要求,不代表必须用复杂的面向对象写法。你完全可以在方法内部用最朴素的逻辑实现,甚至可以在类外部定义辅助函数,只要在指定方法里调用即可。

举两个合法的写法示例:

# 写法1:直接在方法内实现逻辑
class Solution:
    def lengthOfLastWord(self, s: str) -> int:
        return len(s.strip().split()[-1]) if s.strip() else 0
# 写法2:外部定义辅助函数,方法内调用
def get_last_word_length(s):
    stripped_s = s.strip()
    if not stripped_s:
        return 0
    return len(stripped_s.split()[-1])

class Solution:
    def lengthOfLastWord(self, s: str) -> int:
        return get_last_word_length(s)

3. 该格式无隐含算法提示

class Solution:只是LeetCode为统一判题流程设计的标准化模板,和解题思路、算法选择没有任何关联。不管你用贪心、动态规划还是暴力解法,只要方法能正确返回结果即可,不需要遵循OOP的复杂设计原则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 22:29:52