当前位置: 代码迷 >> 综合 >> leedcode:链表的中间结点
  详细解决方案

leedcode:链表的中间结点

热度:31   发布时间:2023-11-19 18:12:00.0

3.23日:链表的中间结点

给定一个带有头节点head的非空单链表,返回链表的中间节点。如果有两个中间节点,则返回第二个中间节点。

输入:[1,2,3,4,5]——>输出:3

输入:[1,2,3,4,5,6]——>输出:4

//使用快慢指针,快指针q每次走2步,慢指针p每次走1步,当q走到链表的末尾时,p正好在中间
class Solution{
    public ListNode middleNode(ListNode head){
    ListNode p = head,q = head;while(q != null && q.next != null){
    q = q.next.next;p = p.next;}return p;}
}