LeetCode两数相加:打印l1.next.val为何出现NoneType属性错误?
错误原因分析
- 你的
addTwoNumbers方法仅执行了print(l1.next.val)语句,没有返回有效的ListNode对象,Python中函数未显式声明return时会默认返回None。 - 测试过程中,你可能在调用该方法后,尝试访问返回结果的
val属性(例如代码类似result = sol.addTwoNumbers(L1, ...); print(result.val))。由于返回值是None(属于NoneType),它没有val属性,因此触发AttributeError: 'NoneType' object has no attribute 'val'。 - 至于能输出4,是因为
l1的结构是2 -> 4 -> 3,l1.next确实指向值为4的节点,print(l1.next.val)这行代码本身执行正常,错误发生在方法返回后的后续操作中。
内容的提问来源于stack exchange,提问作者Jose
相关产品推荐
相关产品推荐

