目录
1.原题链接:
2.双指针:
我们可以使用两个指针,当指针向后移动的时候,我们让一个指针一次移动一个结点(慢指针),一个指针一次移动两个结点(快指针)。这样,当遍历完所有结点,最后慢指针指向的位置就是我们的结果。
这里存在两种情况:
①.有奇数个结点:
②.有偶数个结点:
代码实现:
typedef struct ListNode ListNode;
struct ListNode* middleNode(struct ListNode* head) {
ListNode* slow=head;
ListNode* fast=head;
while(fast!=NULL&&fast->next!=NULL)
{
slow=slow->next;
fast=fast->next->next;
}
return slow;
}
3.提交结果:
4.读书分享:
《道德经·第三十九章》:
故至誉无誉,是故不欲琭琭如玉,珞珞如石。
解释:所以,追求荣誉反而会没有荣誉。因此,不要追求像美玉那样的尊贵华丽,而要像石头那样坚润无光,不在人前张扬。