Given the head of a singly linked list, return the middle node of the linked list.
If there are two middle nodes, return the second middle node.
Example 1:
Input: head = [1,2,3,4,5]
Output: [3,4,5]
Explanation: The middle node of the list is node 3.
Example 2:
Input: head = [1,2,3,4,5,6]
Output: [4,5,6]
Explanation: Since the list has two middle nodes with values 3 and 4, we return the second one.
Constraints:
The number of nodes in the list is in the range [1, 100].
1 <= Node.val <= 100
Solution :
var middleNode = function(head) {
// create array A to push elements in
let A = [head];
// Remember that Linked List is Like SANDWISH the head contain the next node and the next node contain the next node till the end
// The end is where no next | node.next = null
// loop though the list till the end
while (A[A.length - 1].next != null)
// push every element
A.push(A[A.length - 1].next);
// Return the middle one
return A[Math.trunc(A.length / 2)];
};
Top comments (0)