美文网首页
查找链表中点

查找链表中点

作者: Purson | 来源:发表于2020-02-26 08:36 被阅读0次
LinkNode* findMiddle(LinkNode* head){
      if(head == NULL){
          return head;           //检查空指针直接返回;
      }

    LinkNode* fast = head; //定义快指针并初始化
    LinkNode* slow = head;//定义慢指针并初始化

  while(fast != NULL && fast -> next != NULL){ //为什么用&&而不是||,因为在odd list中,用||快指针会跑到不知哪里去了。
          fast = fast -> next -> next;  
          slow = slow -> next;
    } //快指针走完了

    return slow;
}

相关文章

  • 查找链表中点

  • 查找单链表的中点

    给定一个单链表如何高效的找到链表的中点,要求算法复杂度O(N),如果读者遇到过这样的问题,那么这个问题就迎刃而解了...

  • 109. Convert Sorted List to Bina

    将链表转化为平衡二叉查找树,和数组转化为平衡二叉查找树类似,思路比较清晰。 关键点在于如何寻找链表的中点,运用了快...

  • 234. Palindrome Linked List

    判断一个链表是不是回文链表 获取链表的中点,根据快慢指针,将后半部分反转,然后从中点逐个比较。 Runtime: ...

  • leetcode 143 --reorder list

    基本思路:分为三部分: 使用快慢指针来找到链表的中点,并将链表从中点处断开,形成两个独立的链表。ListNode*...

  • 链表的中点

    入门题目,不过挑战挺有意思的,如何不重新遍历就知道哪个点就是中点呢? 做法很取巧,用一个辅助指针,每次向前进两个节...

  • day03-双向链表

    双向链表: 单向链表只能单向查找,双向链表可以双向查找。 啥是双向链表? 双向链表可以双向查数据,所以就不存在单向...

  • 链表类算法题汇总

    算法题目中常考察的链表操作无非以下几种: 链表反转 链表合并 寻找链表中点 寻找链表倒数第 K 个节点 删除链表节...

  • InnoDB 索引

    链表 -> 二叉查找树 -> 平衡二叉树 -> B树 -> B+树 链表:层级等于链表长度二叉查找树:链表优化,...

  • 算法面经--双向链表

    双向链表 一、与单链表的对比凸显优势 ① 单向链表,查找的方向只能是一个方向,而双向链表可以向前或者向后查找。 ②...

网友评论

      本文标题:查找链表中点

      本文链接:https://www.haomeiwen.com/subject/havpchtx.html