20005.LeetCode 876. 给定一个带有头结点 head 的非空单链表,返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。

简介: 20005.LeetCode 876. 给定一个带有头结点 head 的非空单链表,返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。

提示:

      使用快慢指针。

代码:

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
public:
    ListNode* middleNode(ListNode* head) {
        ListNode *fast = head;
        ListNode *slow = head;
        while(fast && fast->next)
        {
            fast = fast->next->next;
            slow = slow->next;
        }
        return slow;
    }
};
目录
相关文章
|
5天前
题目----力扣--回文链表
题目----力扣--回文链表
11 0
|
5天前
题目----力扣--合并两个有序链表
题目----力扣--合并两个有序链表
8 0
|
5天前
题目----力扣--反转链表
题目----力扣--反转链表
13 0
|
5天前
题目----力扣--链表的中间结点
题目----力扣--链表的中间结点
6 0
|
5天前
题目----力扣--移除链表元素
题目----力扣--移除链表元素
12 1
|
6天前
查找两个链表的第一个公共结点
查找两个链表的第一个公共结点
13 0
|
6天前
<数据结构>五道LeetCode链表题分析.环形链表,反转链表,合并链表,找中间节点.
<数据结构>五道LeetCode链表题分析.环形链表,反转链表,合并链表,找中间节点
15 1
|
6天前
|
存储 编译器
单链表与双链表实现
单链表与双链表实现
19 4
|
6天前
|
索引
【力扣刷题】删除链表的倒数第 N 个结点、两两交换链表中的节点、随机链表的复制
【力扣刷题】删除链表的倒数第 N 个结点、两两交换链表中的节点、随机链表的复制
12 0
|
18天前
|
算法
LeetCode刷题---19. 删除链表的倒数第 N 个结点(双指针-快慢指针)
LeetCode刷题---19. 删除链表的倒数第 N 个结点(双指针-快慢指针)