方法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:快慢指针定位到中间节点,然后把后半部分链表反转,然后顺序比较
代码略

京公网安备 11010502036488号