classSolution{publicListNodereverseList(ListNode head){if(head==null)returnnull;ListNode pre =null;ListNode cur = head;while(cur!=null){ListNode p = cur.next;
cur.next = pre;
pre = cur;
cur = p;}return pre;}}
借助二叉树后序遍历的思路,不需要显式反转原始链表也可以倒序遍历链表,很巧妙,不用修改当前链表
classSolution{ListNode left;publicbooleanisPalindrome(ListNode head){
left = head;boolean res =traverse(head);return res;}booleantraverse(ListNode head){if(head==null)returntrue;boolean res =traverse(head.next);
res = res &&(head.val==left.val);
left = left.next;return res;}}