快慢指针
快的到了末尾,慢的所指的就是中点
你一开始写的时候while里面,fast.next放在前面,报错,空指针
应该写在后面,对于偶数个元素的链表而言
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode() {}
* ListNode(int val) { this.val = val; }
* ListNode(int val, ListNode next) { this.val = val; this.next = next; }
* }
*/
class Solution {
public ListNode middleNode(ListNode head) {
ListNode slow = head;
ListNode fast = head;
if(head==null){
return null;
}
while(fast != null && fast.next != null){
slow = slow.next;
fast = fast.next.next;
}
return slow;
}
}
标签:slow,ListNode,val,fast,next,链表,节点,null,leetcode
From: https://blog.csdn.net/qq_43776408/article/details/137014441