Java堆栈队列回文

时间:2017-09-30 05:37:47

标签: java stack queue palindrome

我正在使用堆栈和队列来检查字符串是否是回文。我的代码适用于" Anna"," Level",但它不适用于#34;一罐金枪鱼的坚果!"。我希望有人能帮助我

    public boolean isPalindrome(String item) {
        clearData();

        String s = item.replaceAll("[\\W]", "");
        for (int i = 0; i < s.length(); i++) {

            stack.push(s.substring(i, i+1).toLowerCase());
            queue.enqueue(s.substring(i, i+1).toLowerCase());
        }

        while (! stack.empty() && ! queue.empty()) {
            if (! stack.pop().equals(queue.dequeue())) {
                return false;
            }
        }


        if (!stack.empty() || ! queue.empty())
            return false;

        return true;
    }

0 个答案:

没有答案