查找链表中点

2020-02-26  本文已影响0人  Purson
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;
}
上一篇 下一篇

猜你喜欢

热点阅读