Python新手,我的代码传递除输入1 - > 0之外的所有测试用例,它不返回任何内容而不是1-> 0。这与None的值有关吗?
def RemoveDuplicates(head):
if head == None or head.next == None:
return
else:
temp = head
while(temp.next != None):
if temp.data == temp.next.data:
temp.next = temp.next.next
else:
temp = temp.next
return head
答案 0 :(得分:0)
尝试使用is None
代替== None
。应使用is
或is not
对单身人士进行比较。
答案 1 :(得分:0)
我们看不到头部的类和它定义的操作,是在该类上定义的__eq__
魔术函数吗?
head.next == None
是否有可能为该课程评估head.next.data == None
?在这种情况下,0 == None
的计算结果为True。
正如其他人所说,使用head.next is None
我怀疑你在第一种情况下应该return head
,但是在这种情况下似乎不应该触发,除非我上面提到的评估正在发生。