题解 | #判断一个链表是否为回文结构#
判断一个链表是否为回文结构
https://www.nowcoder.com/practice/3fed228444e740c8be66232ce8b87c2f
import java.util.*; /* * public class ListNode { * int val; * ListNode next = null; * } */ public class Solution { /** * * @param head ListNode类 the head * @return bool布尔型 */ public boolean isPail (ListNode head) { if(head == null || head.next == null){ return true; } ListNode fast = head, slow = head; while(fast != null && fast.next != null){ fast = fast.next.next; slow = slow.next; } if(fast != null){ slow = slow.next; } fast = head; ListNode reHead = reverse(slow); while(reHead != null){ if(reHead.val != fast.val){ return false; } reHead = reHead.next; fast = fast.next; } return true; } private static ListNode reverse(ListNode head){ if(head == null){ return null; } ListNode pre = null, cur = head; while(cur != null){ ListNode tmp = cur.next; cur.next = pre; pre = cur; cur = tmp; } return pre; } }#学习##刷题##每日刷题#