Middle of Linked List
题目:
Find the middle node of a linked list.
Given 1->2->3, return the node with value 2.
Given 1->2, return the node with value 1.
分析:
无
解法:
public class Solution {
/**
* @param head: the head of linked list.
* @return: a middle node of the linked list
*/
public ListNode middleNode(ListNode head) {
// Write your code here
if (head == null) {
return null;
}
if (head.next == null || head.next.next == null) {
return head;
}
ListNode slow = head;
ListNode fast = head;
while (fast.next != null && fast.next.next != null) {
slow = slow.next;
fast = fast.next.next;
}
return slow;
}
}