利用双指针寻找链表中点
利用双指针寻找链表中点 利用快慢指针(双指针)同时指向头节点,fast指针每次走两步,slow指针每次走一步,当fast指针到达链表尽头时,slow指针就处于链表中点处。 Node * middle ( Node * head ) { Node * fast , * slow ; fast = slow = head ; while ( fast != null && fast . next != null ) { fast = fast . next . next ; slow = slow . next ; return slow ; //slow即在中间位置 } 如果链表长度是奇数时,此时slow 正好为中点,如果为偶数,那么slow位置是中间偏右。 明天考试,今天写的有点少… 来源: CSDN 作者: 邜玥 链接: https://blog.csdn.net/weixin_45678985/article/details/103846425