In this post, we are going to solve the 876. Middle of the Linked List problem of Leetcode. This problem 876. Middle of the Linked List is a Leetcode easy level problem. Let’s see the code, 876. Middle of the Linked List – Leetcode Solution.
Problem
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
Now, let’s see the code of 876. Middle of the Linked List – Leetcode Solution.
Middle of the Linked List – Leetcode Solution
876. Middle of the Linked List – Solution in Java
/** * 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; while(fast != null && fast.next != null){ slow = slow.next; fast = fast.next.next; } return slow; } }
876. Middle of the Linked List – Solution in C++
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullptr) {} * ListNode(int x, ListNode *next) : val(x), next(next) {} * }; */ class Solution { public: ListNode* middleNode(ListNode* head) { ListNode* fst = head; ListNode* slw = head; if(head==NULL) return NULL; else{ while(fst!=NULL and fst->next!=NULL) { fst=fst->next->next; slw=slw->next; } return slw; } } };
876. Middle of the Linked List – Solution in Python
def middleNode(self, head): tmp = head while tmp and tmp.next: head = head.next tmp = tmp.next.next return head
Note: This problem 876. Middle of the Linked List is generated by Leetcode but the solution is provided by CodingBroz. This tutorial is only for Educational and Learning purpose.