如何快速找出未知长度单链表的中间结点

    科技2022-07-13  120

    快慢指针的思路,设置两个指针p、mid都指向单链表的头结点。其中p的移动速度是mid的2倍,当p指向末尾结点时,mid刚好就在中间了 

    status getMidNode(LinkList L){ LinkList p = L, mid = L; while(p){ if(p->next == NULL){ break; } p = p->next->next; mid = mid->next; } printf("mid->data=%d\n",mid->data); return OK; }

     

    Processed: 0.016, SQL: 8