给你单链表的头结点 head ,请你找出并返回链表的中间结点。
如果有两个中间结点,则返回第二个中间结点。
class Solution {
public:
ListNode* middleNode(ListNode* head) {
ListNode* kuai=head;
ListNode* man=head;
for(;kuai!=nullptr&&kuai->next!=nullptr;){
kuai=kuai->next->next;
man=man->next;
}
return man;
}
};
这题不会写,第一次接触快慢指针,也是第一次感受到巧妙,这题传入的不是链表,而是链表的结点,是一个指针,输出也是指针。
这是ListNode,单链表,不是list容器(这是双链表)。
.用于访问调用函数,->用于指针