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
「我的代碼有什麼問題......?」首先 - 縮進 – user3159253
我的猜測是你應該在第一個條件中返回head,而不是僅僅返回,這相當於返回None。 – Karin
另外,注意:永遠不要測試'== None'或'!= None'。 「無」是一個單身人士,並且爲它調用完整豐富的比較機制是浪費。測試'不是None'或'不是None',這是一個身份測試,實際上是C層的指針比較,而不是一組複雜的調用(取決於Python版本)'__coerce__', '__cmp__','__eq__'和/或'__ne__'。 – ShadowRanger