2022-5-12 链表
给定一个头结点为 head
的非空单链表,返回链表的中间结点。
如果有两个中间结点,则返回第二个中间结点。
1 /** 2 * Definition for singly-linked list. 3 * public class ListNode { 4 * int val; 5 * ListNode next; 6 * ListNode() {} 7 * ListNode(int val) { this.val = val; } 8 * ListNode(int val, ListNode next) { this.val = val; this.next = next; } 9 * } 10 */ 11 class Solution { 12 public ListNode middleNode(ListNode head) { 13 ListNode fast=head,slow=head; 14 while (fast!=null&&fast.next!=null){ 15 fast=fast.next.next; 16 slow=slow.next; 17 } 18 return slow; 19 } 20 }
思路:快慢指针。