pythonの値渡しプロパティを理解できません。次のコードでrunner
はcurrent
のコピーを作成しており、runner.next
をrunner.next.next
に設定していますが、runner.next
は指定されたリンクリストの次のノードを指しています。これはどのようにしてcur.next.next
になりますか? runner.next
とcur.next
はどちらも同じアドレスを指していますか?私の考えでは、ランナーは現在のコピーであり、元のcur.nextにアクセスすることはできません。私に講演してください。は、Pythonのリンクリストのnode.nextポインタを明確にする必要があります
def remove_dups_followup(ll):
if ll.head is None:
return
current = ll.head
while current:
runner = current
while runner.next:
if runner.next.value == current.value:
runner.next = runner.next.next
else:
runner = runner.next
current = current.next
return ll.head