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
'알고리즘' 카테고리의 다른 글
[알고리즘] 링크드리스트 print_all구현 (0) | 2021.06.13 |
---|---|
[알고리즘] 더하기 or 곱하기 python (0) | 2021.06.12 |
[알고리즘] 시간 복잡도 판단하기 (0) | 2021.06.12 |