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

LeetCode两数之和问题:为何需要添加return []?

为什么LeetCode两数之和代码需要添加return []?

虽然题目明确保证输入有且仅有一个解,但LeetCode的判题系统对函数返回值有严格要求:函数必须始终返回符合类型声明的值,不能出现执行完所有逻辑却没有返回任何内容的情况。

你的代码逻辑上是对的,但如果出现极端情况(比如判题系统的测试用例意外不符合题目描述,或者代码逻辑因疏漏跳过了return分支),函数会默认返回None,而题目要求返回的是List[int]类型,类型不匹配就会触发运行时错误。

添加return []本质是给函数加一个兜底返回值,确保无论什么情况,函数都能返回一个符合类型要求的结果——哪怕题目保证有解,这行代码是为了满足判题系统的执行规范,避免因无返回值导致的类型错误。

你的代码:

class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        for i in range(len(nums)):
            for ii in range(i+1,len(nums)):
                if target == nums[i] + nums[ii]:
                    return [i,ii]

参考代码:

class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        for i in range(len(nums)):
            for j in range(i + 1, len(nums)):
                if nums[i] + nums[j] == target:
                    return [i, j]
        return []

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 04:10:13