🌈个人主页: 会编辑的果子君
💫个人格言:“成为自己未来的主人~”
上面是解题题目:
解题思路:快慢指针法--慢指针一次指向下一个,快指针一次指向下两个
解答过程:
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
typedef struct ListNode* SListNode;
struct ListNode* middleNode(struct ListNode* head) {
SListNode slow,fast;
slow=fast=head;
//满足任意一个条件就会跳出循环
while(fast && fast->next){
slow=slow->next;
fast=fast->next->next;
}
return slow;
}