class Node:
def __init__(self, value=0, next = None):
self.value = value
self.next = next
class LinkedList(object):
def __init__(self):
#head라는 변수에는 주소(번지)가 저장된다. or head는 None을 가리킨다.
self.head = None
def append(self, value):
new_node = Node(value) #new_node는 Node(1)을 가리킨다.
#만약에 head라는 변수에 저장된 주소가 None이 저장되어 있다면,
if self.head is None:
self.head = new_node ##head는 new_node를 가리킨다.
self.tail = new_node #tail은 new_node를 가리킨다.
else:
self.tail.next = new_node #tail.next는 new_node를 가리키게 한다.
self.tail = self.tail.next #tail은 tail.next가 가리키는 곳(new_node)을 가리키게 된다.
실제 구현해보기 - append 시간복잡도 : O(1)
'개발남노씨(Coding Test)' 카테고리의 다른 글
HashTable - Two Sum (과거인덱스, 지금인덱스) (0) | 2023.02.16 |
---|---|
Daily Temperatures - stack문제 (0) | 2023.02.16 |
올바른 괄호 - 심화(스택 문제) (0) | 2023.02.16 |
Linked List 3 - Brower History (0) | 2023.02.15 |
Linked List 1 (0) | 2023.02.03 |