import java.util.*;
public class FindingPalindrome {
private String inputString;
private Stack<Character> stack = new Stack<Character>();
public FindingPalindrome(String str)
{
inputString = str;
fillStack();
}
public void fillStack()
{
for(int i = 0; i < inputString.length(); i++)
{
stack.push(inputString.charAt(i));
}
}
public String reverseString()
{
String result = new String();
while(!stack.isEmpty())
{
result = result.concat(Character.toString(stack.pop()));
}
return result;
}
public boolean isPalindrome()
{
if(inputString.equalsIgnoreCase(reverseString()))
return true;
else return false;
}
}
public class TestPalindrome {
public static void main(String args[])
{
String inputString ="Straw? No, too stupid a fad. I put soot on warts";
String inputString1 = inputString.toLowerCase().replaceAll("[^a-z]","");
FindingPalindrome p = new FindingPalindrome(inputString);
if(p.isPalindrome())System.out.println("Is palindrome!");
else System.out.println("Is not palindrome!");
}
}
以上是Stack测试Palindrome的代码。每件事情都运行良好,但回文输出不正确Palindrome is not wokring
我认为它计数空间字符 – Shah