韶关市建设局官方网站,苏州最新情况最新消息今天,济南网站建设多少钱,手机百度识图网页版入口问题描述#xff1a; 给定一个头结点为head的非空单链表#xff0c;返回链表的中间结点。如果有两个中间节点#xff0c;则返回第二个中间结点#xff0c;个数为奇数返回一个值#xff0c;个数为偶数返回两个中间结点的第二个值。 思路#xff1a;
用快慢指针来寻找中间…问题描述 给定一个头结点为head的非空单链表返回链表的中间结点。如果有两个中间节点则返回第二个中间结点个数为奇数返回一个值个数为偶数返回两个中间结点的第二个值。 思路
用快慢指针来寻找中间结点
定义一个slow和fast结构体指针slow每次走一步而fast每次走两步当fast的next为空或fast为空时结束循环最终slow即为中间结点。 struct ListNode* middleNode(struct ListNode* head)
{struct ListNode* slow head, * fast head;while (fast fast-next){slow slow-next;//slow走一步fast fast-next-next;//fast走两步}return slow;
}