本篇博客给大家带来的是用C++语言来解答找中间结点!
🐟🐟文章专栏:每日一练
🚀🚀若有问题评论区下讨论,我会及时回答
❤❤欢迎大家点赞、收藏、分享!
今日思想:不服输的少年啊,请你再努力一下!
题目描述:
解题方法:快慢指针!
思路:大家请看我们要找的结点总是倒数第三个,那么我们只要快指针先走两步,慢指针走一步 ,只要快指针走到NULL,那就返回慢指针,此时慢指针就是倒数第三个结点。
代码实例:
/*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/typedef struct ListNode ListNode;
struct ListNode* middleNode(struct ListNode* head) {if(head==NULL){return NULL;}ListNode* slow,*fast;slow=fast=head;while(fast && fast->next){slow=slow->next;fast=fast->next->next;}return slow;
}
完!!