난이도: Easy
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.
/**
* Definition for singly-linked list.
* function ListNode(val, next) {
* this.val = (val===undefined ? 0 : val)
* this.next = (next===undefined ? null : next)
* }
*/
/**
* @param {ListNode} head
* @return {ListNode}
*/
var middleNode = function(head) {
let listLength = 0;
let pointer = head; // Linked List 포인터
// head의 Node개수 세기
while(pointer.next != null){
pointer = pointer.next;
++listLength;
}
pointer = head;
// list의 중간지점으로 이동
for(let i = 0; i < listLength / 2; i++){
pointer = pointer.next;
}
return pointer;
};