zoukankan      html  css  js  c++  java
  • 快速寻找单链表的中间结点

    思路:

    1. 有两个指针同时从开头(首元结点)遍历
    2. 一个快指针一次走两步,一个慢指针一次走一步
    3. 快指针先到链表尾部,满指针恰好到达链表中部(当链表长度为奇数时,满指针指向的是链表中间结点;当链表长度为偶数时,满指针指向的结点和满指针指向结点的下一个结点都是链表的中间结点)
    //设立两个指针fast和slow,它们分别从head开始,fast走两步slow走一步,当fast走到最后一个结点的时候slow正好走到中点
    //
    其中head为带头结点的链表的头指针 Node* searchMid(Node* head) { Node *fast = head, *slow = head; while (fast != NULL && fast->next != NULL) { fast = fast->next->next; slow = slow->next; } return slow; }
  • 相关阅读:
    腾讯2面
    腾讯1面
    快手2面
    快手1面
    formData+ajax文件上传
    nginx限流&健康检查
    jvm crash分析
    Spring Cloud Gateway整合Eureka
    k8s-应用部署
    dockerfile-maven plugin自动镜像制作并发布
  • 原文地址:https://www.cnblogs.com/fuqia/p/10261161.html
Copyright © 2011-2022 走看看