Skip to content

Commit bc23186

Browse files
Time: 55 ms (83.10%) | Memory: 17.3 MB (42.24%) - LeetSync
1 parent 0e478bc commit bc23186

File tree

1 file changed

+68
-0
lines changed

1 file changed

+68
-0
lines changed
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
class MyCircularDeque:
2+
3+
def __init__(self, k: int):
4+
self.nums = []
5+
self.count = 0
6+
self.limit = k
7+
8+
def insertFront(self, value: int) -> bool:
9+
if not self.isFull():
10+
self.nums.insert(0, value)
11+
self.count += 1
12+
return True
13+
else:
14+
return False
15+
16+
def insertLast(self, value: int) -> bool:
17+
if not self.isFull():
18+
self.nums.append(value)
19+
self.count += 1
20+
return True
21+
else:
22+
return False
23+
24+
def deleteFront(self) -> bool:
25+
if not self.isEmpty():
26+
self.nums.pop(0)
27+
self.count -= 1
28+
return True
29+
else:
30+
return False
31+
32+
def deleteLast(self) -> bool:
33+
if not self.isEmpty():
34+
self.nums.pop()
35+
self.count -= 1
36+
return True
37+
else:
38+
return False
39+
40+
def getFront(self) -> int:
41+
if not self.isEmpty():
42+
return self.nums[0]
43+
else:
44+
return -1
45+
46+
def getRear(self) -> int:
47+
if not self.isEmpty():
48+
return self.nums[-1]
49+
else:
50+
return -1
51+
52+
def isEmpty(self) -> bool:
53+
return self.count == 0
54+
55+
def isFull(self) -> bool:
56+
return self.count == self.limit
57+
58+
59+
# Your MyCircularDeque object will be instantiated and called as such:
60+
# obj = MyCircularDeque(k)
61+
# param_1 = obj.insertFront(value)
62+
# param_2 = obj.insertLast(value)
63+
# param_3 = obj.deleteFront()
64+
# param_4 = obj.deleteLast()
65+
# param_5 = obj.getFront()
66+
# param_6 = obj.getRear()
67+
# param_7 = obj.isEmpty()
68+
# param_8 = obj.isFull()

0 commit comments

Comments
 (0)