Program to reverse a string of characters using a Stack class in Java
class CharacterStack {
private char[] stackArray;
private int topOfStack;
public CharacterStack( int capacity ) {
stackArray = new char[capacity];
topOfStack = -1;
}
public void push( char element ){
stackArray[++topOfStack] = element;
}
public char pop(){
return stackArray[topOfStack--];
}
public char peek(){
return stackArray[topOfStack];
}
public boolean isEmpty(){
return topOfStack < 0;
}
public boolean isFull(){
return topOfStack == stackArray.length - 1;
}
}
public class Client {
public static void main(String[] args) {
CharacterStack stack = new CharacterStack(50);
String str = "!tol a sknahT.moc.topsrebbuh detisiv uoy";
int length = str.length();
System.out.println("Initial String : " + str);
for(int i = 0; i < length ; i++ ){
stack.push(str.charAt(i));
}
System.out.println();
System.out.print("Reversing the String : ");
while(!stack.isEmpty()){
System.out.print(stack.pop());
}
System.out.println();
}
}
Output of the program :
