方法1:使用数组把节点值存起来,再比较

    public boolean isPail (ListNode head) {
        // 最笨的办法
        ArrayList<Integer> list = new ArrayList<>();
        while(head!=null){
            list.add(head.val);
            head=head.next;
        }

        int l=0,h = list.size()-1;
        while(l<h){
            if(!list.get(l++).equals(list.get(h--))){ //这个地方返回的是Integer对象,不能使用==
                return false;
            }
        }
        return true;
    }

方法2:快慢指针定位到中间节点,然后把后半部分链表反转,然后顺序比较

代码略