Leetcode
2020.05.04 08:55
876. Middle of the Linked List
조회 수 710 추천 수 0 댓글 0
Given a non-empty, singly linked list with head node head
, return a middle node of linked list.
If there are two middle nodes, return the second middle node.
Example 1:
Input: [1,2,3,4,5] Output: Node 3 from this list (Serialization: [3,4,5]) The returned node has value 3. (The judge's serialization of this node is [3,4,5]). Note that we returned a ListNode object ans, such that: ans.val = 3, ans.next.val = 4, ans.next.next.val = 5, and ans.next.next.next = NULL.
Example 2:
Input: [1,2,3,4,5,6] Output: Node 4 from this list (Serialization: [4,5,6]) Since the list has two middle nodes with values 3 and 4, we return the second one.
Note:
- The number of nodes in the given list will be between
1
and100
.
/** * 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 node = head; int count = 0; while(node != null){ count++; node = node.next; } node = head; for(int i=0; i<count/2; i++){ node = node.next; } return node; } }
/** * 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) { List<ListNode> list = new ArrayList<>(); ListNode node = head; int count = 0; while(node != null){ count++; list.add(node); node = node.next; } return list.get(count/2); } }
[문제] https://leetcode.com/problems/middle-of-the-linked-list/
-
720. Longest Word in Dictionary
-
225. Implement Stack using Queues
-
56. Merge Intervals
-
844. Backspace String Compare
-
222. Count Complete Tree Nodes
-
697. Degree of an Array
-
605. Can Place Flowers
-
724. Find Pivot Index
-
448. Find All Numbers Disappeared in an Array
-
628. Maximum Product of Three Numbers
-
532. K-diff Pairs in an Array
-
897. Increasing Order Search Tree
-
872. Leaf-Similar Trees
-
876. Middle of the Linked List
-
203. Remove Linked List Elements
-
997. Find the Town Judge
-
270. Closest Binary Search Tree Value
-
687. Longest Univalue Path
-
783. Minimum Distance Between BST Nodes
-
235. Lowest Common Ancestor of a Binary Search Tree