Skip to content

Commit 2f4231a

Browse files
Create ReverseQueueRecursion
Add ReverseQueueRecursion.java: - Reverses a Queue using recursion (generic <T>) - Includes unit tests in ReverseQueueRecursionTest.java - Follows repo style (final class, private constructor, Javadoc)
1 parent 29ce2ef commit 2f4231a

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package com.thealgorithms.datastructures.queues;
2+
3+
import java.util.Queue;
4+
5+
/**
6+
* Reverse a queue using recursion.
7+
*/
8+
public final class ReverseQueueRecursion {
9+
10+
private ReverseQueueRecursion() {
11+
// private constructor to prevent instantiation
12+
}
13+
14+
/**
15+
* Reverses the given queue recursively.
16+
*
17+
* @param queue the queue to reverse
18+
* @param <T> type of elements in the queue
19+
*/
20+
public static <T> void reverseQueue(Queue<T> queue) {
21+
if (queue.isEmpty()) return;
22+
T front = queue.poll();
23+
reverseQueue(queue);
24+
queue.add(front);
25+
}
26+
}

0 commit comments

Comments
 (0)