From e2d79f143fdb31e246db65e02f169715f11678ef Mon Sep 17 00:00:00 2001 From: Aniruddho Mitra <68218897+aniruddho-mitra@users.noreply.github.com> Date: Wed, 5 Oct 2022 11:30:14 +0530 Subject: [PATCH] Create ReverseStringUsingStack.java --- Stack/ReverseStringUsingStack.java | 55 ++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 Stack/ReverseStringUsingStack.java diff --git a/Stack/ReverseStringUsingStack.java b/Stack/ReverseStringUsingStack.java new file mode 100644 index 0000000..11c928d --- /dev/null +++ b/Stack/ReverseStringUsingStack.java @@ -0,0 +1,55 @@ +import java.io.IOException; + +public class StringReverserThroughStack { + private String input; + private String output; + public StringReverserThroughStack(String in) { + input = in; + } + public String doRev() { + int stackSize = input.length(); + Stack theStack = new Stack(stackSize); + + for (int i = 0; i < input.length(); i++) { + char ch = input.charAt(i); + theStack.push(ch); + } + output = ""; + while (!theStack.isEmpty()) { + char ch = theStack.pop(); + output = output + ch; + } + return output; + } + public static void main(String[] args) throws IOException { + String input = "Java Source and Support"; + String output; + StringReverserThroughStack theReverser = + new StringReverserThroughStack(input); + output = theReverser.doRev(); + System.out.println("Reversed: " + output); + } + class Stack { + private int maxSize; + private char[] stackArray; + private int top; + + public Stack(int max) { + maxSize = max; + stackArray = new char[maxSize]; + top = -1; + } + public void push(char j) { + stackArray[++top] = j; + } + public char pop() { + return stackArray[top--]; + } + public char peek() { + return stackArray[top]; + } + public boolean isEmpty() { + return (top == -1); + } + } +}