如何有效提高网站排名,网站服务器租用注意事项,我的网站怎么不能搜索,网校网站毕业设计的方案一、题目 函数原型#xff1a; struct ListNode* middleNode(struct ListNode* head) 二、思路 要找到链表的中间结点#xff0c;有两种思路#xff1a; 暴力解法#xff1a;先遍历一遍链表#xff0c;计算出链表的长度#xff0c;再次遍历链表#xff0c;找到中间结点。… 一、题目 函数原型 struct ListNode* middleNode(struct ListNode* head) 二、思路 要找到链表的中间结点有两种思路 暴力解法先遍历一遍链表计算出链表的长度再次遍历链表找到中间结点。 快慢指针分别设置一个快指针和一个慢指针慢指针一次走一步快指针一次走两步那么快指针遍历的结点数始终时慢指针的两倍所以当快指针走到空时慢指针就走到了中间结点。 三、代码 本文只提供快慢指针的代码 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/
struct ListNode* middleNode(struct ListNode* head){struct ListNode *fasthead;//快指针struct ListNode*slowhead;//慢指针//while(fast-nextfast)while(fastfast-next){slowslow-next;fastfast-next-next;}return slow;
}