leetcode234题回文链表,一至判断我错误。

来源:4-4 链表的遍历,查询和修改

StephenLee147

2018-05-09

import java.util.LinkedList;
import java.util.Queue;
import java.util.Stack;

public class Solution_234 {
    public static boolean isPalindrome(ListNode head) {
        if(head == null){
            return false;
        }
        Stack<ListNode> stack = new Stack<>();
        Queue<ListNode> queue = new LinkedList<>();
        ListNode cur = head;
        while (cur != null){
            stack.push(cur);
            queue.add(cur);
            cur = cur.next;
        }

        while (!stack.isEmpty()&&!queue.isEmpty()){
            if(stack.pop().val!=queue.remove().val){
                return false;
            }
        }
        return true;
    }

    public static void main(String[] args) {
        int[] nums = {1};
        ListNode node = new ListNode(nums);
        System.out.println(isPalindrome(node));
    }
}

leetcode234题回文链表,一致判断我错误。判据是说输入[1],结果是false。可是我自己测试的时候结果是true,用LeetCode上的自定义测试用例也是true,请老师看看

写回答

1回答

liuyubobobo

2018-05-09

问题在空链表。传入的head为null的时候,应该返回true,你的程序返回了false:)

1
0

玩转数据结构

动态数组/栈/队列/链表/BST/堆/线段树/Trie/并查集/AVL/红黑树…

6221 学习 · 1704 问题

查看课程