Design Circular Deque LeetCode solution in C++

1
class MyCircularDeque {
2
public:
3
deque<int> dq;
4

5
int max_size;
6

7
MyCircularDeque(int k) {
8
max_size = k;
9
}
10

11
bool insertFront(int value) {
12
if (dq.size() < max_size) {
13
dq.push_front(value);
14

15
return true;
16
}
17

18
return false;
19
}
20

21
bool insertLast(int value) {
22
if (dq.size() < max_size) {
23
dq.push_back(value);
24

25
return true;
26
}
27

28
return false;
29
}
30

31
bool deleteFront() {
32
if (dq.size() > 0) {
33
dq.pop_front();
34

35
return true;
36
}
37

38
return false;
39
}
40

41
bool deleteLast() {
42
if (dq.size() > 0) {
43
dq.pop_back();
44

45
return true;
46
}
47

48
return false;
49
}
50

51
int getFront() {
52
if (dq.size() > 0) return dq.front();
53

54
return -1;
55
}
56

57
int getRear() {
58
if (dq.size() > 0) return dq.back();
59

60
return -1;
61
}
62

63
bool isEmpty() {
64
return dq.empty();
65
}
66

67
bool isFull() {
68
return dq.size() == max_size;
69
}
70
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0