641. Design Circular Deque
-
641. Design Circular DequeProgramming/leetcode 2021. 2. 19. 10:32
deQueue 구현 문제 deQueue는 이중 연결리스트로 많이 구현한다. (left, right) 앞, 뒤로 추가 가능하다. head와 tail은 제일 앞에 ListNode와 맨 뒤의 ListNode를 가르키고 있다. 만약 제일 앞에 새로운 값을 추가하려면, head를 새로운 ListNode를 가르키게 하고, 이전 값을 연결해주면 된다. head, tail에서 add를 공통으로 하기 위해서 오른쪽에 추가하는걸 기준으로 _add함수를 만들었다. del 역시 공통으로 사용하기 위해서 오른쪽 자식을 삭제하는걸 기준으로 잡았다. add, del시에 tail에서는 어느 부분을 가르켜야되는지 손으로 그려보면 잘 알 수 있다. class MyCircularDeque: def __init__(self, k: int)..