Leetcode 876. 链表的中间结点 快慢指针

原题链接:Leetcode 876. 链表的中间结点

用两个指针 slow 与 fast 一起遍历链表。slow 一次走一步,fast 一次走两步。那么当 fast 到达链表的末尾时,slow 必然位于中间。

cpp 复制代码
/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode() : val(0), next(nullptr) {}
 *     ListNode(int x) : val(x), next(nullptr) {}
 *     ListNode(int x, ListNode *next) : val(x), next(next) {}
 * };
 */
class Solution {
public:
    ListNode* middleNode(ListNode* head) {
        ListNode* fast=head;
        ListNode* slow=head;
        while(fast!=nullptr && fast->next!=nullptr ){
            fast=fast->next->next;
            slow=slow->next;
        }
        return slow;
    }
};
相关推荐
微笑尅乐6 小时前
力扣350.两个数组的交集II
java·算法·leetcode·动态规划
元亓亓亓8 小时前
LeetCode热题100--994. 腐烂的橘子--中等
算法·leetcode·职场和发展
(●—●)橘子……8 小时前
记力扣2516.每种字符至少取k个 练习理解
算法·leetcode·职场和发展
可触的未来,发芽的智生8 小时前
新奇特:神经网络烘焙坊(下),万能配方的甜蜜奥义
人工智能·python·神经网络·算法·架构
学c语言的枫子9 小时前
数据结构——基本排序算法
数据结构·算法·排序算法
jghhh019 小时前
针对大尺度L1范数优化问题的MATLAB工具箱推荐与实现
开发语言·算法·matlab
And_Ii10 小时前
LeetCode 5.最长回文字符串
数据结构·算法·leetcode
未知陨落10 小时前
LeetCode:76.数据流的中位数
算法·leetcode
Asmalin10 小时前
【代码随想录day 28】 力扣 1005. K次取反后最大化的数组和
算法·leetcode·职场和发展
m0_7472660910 小时前
减治法计算数组中的零个数
数据结构·算法·leetcode