[关闭]
@XQF 2018-03-07T22:51:26.000000Z 字数 244 阅读 789

如何寻找单链表的中间节点?

数据结构与算法


快慢指针,快指针两步,慢指针一步,快的走完,慢的所指的节点就是中间节点

还有一点就是短路判断,不能先写fast.next.next!=null

  1. public int findMid(ListNode head) {
  2. ListNode fast = head;
  3. ListNode slow = head;
  4. while (fast != null && fast.next != null) {
  5. fast = fast.next.next;
  6. slow = slow.next;
  7. }
  8. return slow.val;
  9. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注