import java.util.*; public class Palindrome { public static void main (String[] argv) { // Test 1. String str = "redder"; System.out.println ( str + " " + checkPalindrome(str) ); // Test 2. str = "river"; System.out.println ( str + " " + checkPalindrome(str) ); // Test 3. str = "neveroddoreven"; System.out.println ( str + " " + checkPalindrome(str) ); } static String checkPalindrome (String str) { // Extract the letters. char[] letters = str.toCharArray (); // Create an empty stack. Stack stack = new Stack(); // The letters must "balance" up to the middle. int mid = letters.length / 2; // Push the first half. for (int i=0; i 0) { // Odd number => swallow middle letter. mid = mid+1; } // Now check the second half. for (int i=mid; i not a palindrome. return "is not a palindrome"; } } return "is a palindrome"; } }