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
私は、 'return'ではなく' return'の代わりに 'return head'を返すべきだと考えています。これは' None'を返すことと同じです。 – Karin
また、side-note: '== None'または'!= None'をテストしないでください。 'None'はシングルトンであり、充実した比較エンジンを呼び出すのは無駄です。 ( 'Pythonバージョンに依存する)' __coerce__'のいくつかの組み合わせに対する複雑な呼び出しのセットではなく、C層でのポインタ比較のようなアイデンティティテストである '' None'または '' None ' '__cmp__'、' __eq__'および/または '__ne__'です。 – ShadowRanger