❒ Description
제목 | Design Circular Queue |
링크 | https://leetcode.com/problems/design-circular-queue/description/ |
자료구조 | 선형 (배열) |
시간복잡도 | O(1) |
이 번 문제는 배열을 사용해서 Circular-Queue(원형 큐)를 구현하는 문제이다.
❒ Solution
public class MyCircularQueue {
int q[];
int front = 0;
int rear = -1;
int len = 0;
public boolean enQueue(int value) {
if (!isFull()) {
rear = (rear + 1) % q.length;
q[rear] = value;
len++;
return true;
} else {
return false;
}
}
public boolean deQueue() {
if (!isEmpty()) {
front = (front + 1) % q.length;
len--;
return true;
} else {
return false;
}
}
public int Front() {
return isEmpty() ? -1 : q[front];
}
public int Rear() {
return isEmpty() ? -1 : q[rear];
}
public isFull() {
return len == q.length;
}
public isEmpty() {
return len == 0;
}
}
'Algorithm > 문제풀이' 카테고리의 다른 글
[LeetCode#23] Merge K sorted Lists (0) | 2024.08.06 |
---|---|
[LeetCode#641] Design Circular Deque (0) | 2024.08.05 |
[LeetCode#739] Daily Temperatures (0) | 2024.07.31 |
[LeetCode#92] Reverse Linked List II (0) | 2024.07.28 |
[LeetCode#24] Swap Nodes In Pairs (0) | 2024.07.28 |