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 小时前
Rust 练习册 :Pythagorean Triplet与数学算法
开发语言·算法·rust
星释6 小时前
Rust 练习册 :Nth Prime与素数算法
开发语言·算法·rust
多喝开水少熬夜7 小时前
Trie树相关算法题java实现
java·开发语言·算法
WBluuue7 小时前
数据结构与算法:树上倍增与LCA
数据结构·c++·算法
bruk_spp8 小时前
牛客网华为在线编程题
算法
黑屋里的马10 小时前
java的设计模式之桥接模式(Bridge)
java·算法·桥接模式
z1874610300310 小时前
list(带头双向循环链表)
数据结构·c++·链表
sin_hielo10 小时前
leetcode 1611
算法·leetcode
李小白杂货铺10 小时前
识别和破除信息茧房
算法·信息茧房·识别信息茧房·破除信息茧房·算法推荐型茧房·观点过滤型茧房·茧房
来荔枝一大筐11 小时前
C++ LeetCode 力扣刷题 541. 反转字符串 II
c++·算法·leetcode