本文主要是介绍找链表的中点,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
样例
链表 1->2->3
的中点是 2
。
链表 1->2
的中点是 1
。
算法思路
使用快慢指针实现,慢指针一次移动一个节点,快节点一次移动两个节点,快指针到达终点时,慢指针指向中点
代码实现(JAVA)
public ListNode middleNode(ListNode head) {// write your code hereif(head == null)return null;ListNode slow = head;ListNode fast = head;while(fast.next != null && fast.next.next != null){slow = slow.next;fast = fast.next.next;}return slow;}
这篇关于找链表的中点的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!