C++快慢指针:链表中间值

算法

1.设置fast,slow两个指针指向链表头结点
2.fast每次走两步,slow每次走一步
3.当fast为空或fast->next为空时结束循环
4.此时slow指向的结点就是链表的中间结点

    T getmid()
    {
        Node* fast = head;
        Node* slow = head;
        while(fast!=nullptr&&fast->next!=nullptr){
            fast = fast->next->next;
            slow = slow->next;
        }
        return slow->x;
    }
©️2020 CSDN 皮肤主题: 书香水墨 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值