题目给定一个链表的头节点head删除链表的中间节点并返回修改后链表的头节点。https://leetcode.cn/problems/delete-the-middle-node-of-a-linked-list/思路当链表长度为奇数时如 n5fast走到最后一个节点fast.next null时停止当链表长度为偶数时如 n4fast走到null时停止此时slow指向中间节点preSlow指向中间节点的前一个节点code/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val val; } * ListNode(int val, ListNode next) { this.val val; this.next next; } * } */classSolution{publicListNodedeleteMiddle(ListNodehead){if(head.nextnull)returnnull;ListNodefasthead;ListNodeslowhead;ListNodepreSlowslow;//删除节点时候要记录删除点的前一个节点//找中间while(fast!nullfast.next!null){fastfast.next.next;preSlowslow;slowslow.next;}preSlow.nextslow.next;//删除returnhead;}}