/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
typedef struct ListNode Node;
struct ListNode* middleNode(struct ListNode* head){
Node *p = head;
Node *q = head;
Node *last = NULL;
/* 使用快慢指针,p快指针,q慢指针,last用于记录q的上一个指针*/
while(p){
last = q;
p = p->next;
q = q->next;
if(p){
p = p->next;
}else{
return last;
}
}
return q;
}
LeetCode-876-链表的中间节点-C语言
最新推荐文章于 2023-11-27 22:52:45 发布