Java 使用堆栈检查给定字符串是否为回文

Java 使用堆栈检查给定字符串是否为回文,java,string,stack,palindrome,Java,String,Stack,Palindrome,各位 我最近接受了采访,得到了一个关于回文的问题 给定一个字符串(可能表示日期),检查它是否为 回文或不使用堆栈 我试图想出解决办法,但他不喜欢 有人能用Java给我看一下它的代码片段吗 谢谢 附:这不是一个家庭作业,一个实际的面试问题。用一堆东西来做这件事的总体思路非常简单。我没有时间讨论语法和Java代码,但这是伪代码中的概念 string s = "test" for i=0 to s.length stack->push(s[i]) 这将从左向右推动t->e->s->t。因此,生

各位

我最近接受了采访,得到了一个关于回文的问题

给定一个字符串(可能表示日期),检查它是否为 回文或不使用堆栈

我试图想出解决办法,但他不喜欢

有人能用Java给我看一下它的代码片段吗

谢谢


附:这不是一个家庭作业,一个实际的面试问题。

用一堆东西来做这件事的总体思路非常简单。我没有时间讨论语法和Java代码,但这是伪代码中的概念

string s = "test"
for i=0 to s.length
stack->push(s[i])
这将从左向右推动t->e->s->t。因此,生成的堆栈如下所示:

TOP->t | s | e | t |
import java.util.Stack;
公共类回文测验{
公共静态void main(字符串[]args){
字符串输入=“测试”;
堆栈=新堆栈();
对于(int i=0;i
发布不起作用的解决方案,他是否提到了他不喜欢它的原因?发布您回答的代码片段!对于空格和区分大小写的字符串,请使用
input=input.replaceAll(“\\s”,”).toLowerCase()
while(pop != '')
string s += pop'd character
import java.util.Stack;

public class PalindromeTest {

    public static void main(String[] args) {

        String input = "test";
        Stack<Character> stack = new Stack<Character>();

        for (int i = 0; i < input.length(); i++) {
            stack.push(input.charAt(i));
        }

        String reverseInput = "";

        while (!stack.isEmpty()) {
            reverseInput += stack.pop();
        }

        if (input.equals(reverseInput))
            System.out.println("Yo! that is a palindrome.");
        else
            System.out.println("No! that isn't a palindrome.");

    }
}