Skip to content

Commit ca4d3b1

Browse files
committed
Add ReverseStringUsingStack utility for reversing strings using stack
1 parent 24f4090 commit ca4d3b1

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package com.thealgorithms.stacks;
2+
3+
import java.util.Stack;
4+
5+
public final class ReverseStringUsingStack {
6+
7+
private ReverseStringUsingStack() {
8+
}
9+
10+
/**
11+
* @param str string to be reversed using stack
12+
* @return reversed string
13+
*/
14+
15+
public static String reverse(String str) {
16+
17+
Stack<Character> stack = new Stack<>();
18+
StringBuilder reversedString = new StringBuilder();
19+
20+
if(str.isEmpty()) {
21+
return str;
22+
}
23+
for(char i : str.toCharArray()) {
24+
stack.push(i);
25+
}
26+
while(!stack.isEmpty()) {
27+
reversedString.append(stack.pop());
28+
}
29+
30+
return reversedString.toString();
31+
}
32+
}

0 commit comments

Comments
 (0)