forked from neetcode-gh/leetcode
- Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path0622-design-circular-queue.py
54 lines (33 loc) · 1006 Bytes
/
0622-design-circular-queue.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
classNode:
def__init__(self, val: int):
self.val=val
self.next=None
classMyCircularQueue:
def__init__(self, k: int):
self.head=self.tail=None
self.capacity=k
self.size=0
defenQueue(self, value: int) ->bool:
ifself.isFull():
returnFalse
node=Node(value)
ifself.size==0:
self.head=self.tail=node
else:
self.tail.next=self.tail=node
self.size+=1
returnTrue
defdeQueue(self) ->bool:
ifself.isEmpty():
returnFalse
self.head=self.head.next
self.size-=1
returnTrue
defFront(self) ->int:
return-1ifself.isEmpty() elseself.head.val
defRear(self) ->int:
return-1ifself.isEmpty() elseself.tail.val
defisEmpty(self) ->bool:
returnself.size==0
defisFull(self) ->bool:
returnself.capacity==self.size