Provide a complete implementation of class LinkedStack and t

Provide a complete implementation of class LinkedStack and test it on the PalindromeFinder applcation (listed below).

package linkedstack;

import java.util.*;

public class PalindromeFinder {
  
private String inputString;
  
LinkedStack charStack = new LinkedStack();
  
public PalindromeFinder(String str){
inputString = str;
fillStack();
}
private void fillStack(){
for(int i = 0; i < inputString.length(); i++){
charStack.push(inputString.charAt(i));
}

}
  
private String buildReverse(){
StringBuilder result = new StringBuilder();
while(!charStack.empty()){
result.append(charStack.pop());
}
return result.toString();
}
  
public boolean isPalindrome(){
return inputString.equalsIgnoreCase(buildReverse());
}   
}

Solution

package linkedstack;

public class LinkedStack {
   Node top;
  
   public LinkedStack() {
       top = null;
   }
  
   public void push(char character) {
       if(top == null) {
           top = new Node(character, null);
       } else {
           Node newNode = new Node(character, null);
           newNode.setNext(top);
           top = newNode;
       }
   }
  
   public char pop() {
       if(top != null) {
           char character = top.getCharacter();
           top = top.getNext();
           return character;
       }
      
       return 0;
   }
  
   public boolean isEmpty() {
       return top == null;
   }
  
   private class Node {
       char character;
       Node next;
      
       public Node(char character, Node next) {
           super();
           this.character = character;
           this.next = next;
       }
       public char getCharacter() {
           return character;
       }
       public Node getNext() {
           return next;
       }
       public void setNext(Node next) {
           this.next = next;
       }
   }
}


package linkedstack;

public class PalindromeFinder {
   private String inputString;
   LinkedStack charStack = new LinkedStack();
  
   public PalindromeFinder(String inputString) {
       this.inputString = inputString;
       fillStack();
   }
  
   private void fillStack() {
       for(int i = 0; i < inputString.length(); i++)
           charStack.push(inputString.charAt(i));
   }
  
   private String buildReverse() {
       StringBuilder result = new StringBuilder();
       while(!charStack.isEmpty()) {
           result.append(charStack.pop());
       }
       return result.toString();
   }
  
   public boolean isPalindrome() {
       return inputString.equalsIgnoreCase(buildReverse());
   }

}


package linkedstack;

import java.util.Scanner;

public class PalindromeFinderTest {
   public static void main(String[] args) {
      
       Scanner in = new Scanner(System.in);
       System.out.println(\"Enter a string\");
       PalindromeFinder pf = new PalindromeFinder(in.next());
       System.out.println(\"IsPalindrome : \" + pf.isPalindrome());
       in.close();
   }
}

Provide a complete implementation of class LinkedStack and test it on the PalindromeFinder applcation (listed below). package linkedstack; import java.util.*; p
Provide a complete implementation of class LinkedStack and test it on the PalindromeFinder applcation (listed below). package linkedstack; import java.util.*; p
Provide a complete implementation of class LinkedStack and test it on the PalindromeFinder applcation (listed below). package linkedstack; import java.util.*; p

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site