알고리즘

[알고리즘] 링크드리스트 delete_node구현

자바칩 프라푸치노 2021. 6. 13. 15:41
 def delete_node(self, index):
        if index == 0:
            self.head = self.head.next
            return
        # index번째 Node를 제거한다
        node = self.get_node(index-1)
        node.next = node.next.next
        return "index 번째 Node를 제거해주세요!"

index가 0 이면 0번째 head를 지우라는 것이므로

그것이 지워지면 바로 뒤의 head.next가 head가 되는 것이다.

index가 0이 아니라면

index번째 node를 지우고

index-1번째 node 바로 다음에 index.next 노드가 와야한다

그러니까 index-1번째 노드의 next에는 원래 next의 next였던 노드가 와야한다는 것이다.

 

728x90