Notice
250x250
Recent Posts
Recent Comments
Link
넘치게 채우기
[LeetCode] 876. Middle of the Linked List 본문
728x90
반응형
https://leetcode.com/problems/middle-of-the-linked-list/description/
Leetcode - Middle of the Linked List
문제 유형 : 연결리스트, 투포인터
문제 난이도 : 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.
단순 연결리스트의 헤드가 주어진다. 중간 노드를 반환하라.
두 개의 중앙 노드가 있다면, 두 번째 중앙 노드를 반환하라.
풀이
투 포인터를 이용해서 풀어주면 된다.
두 칸씩 이동하는 fast
한 칸씩 이동하는 slow를 만든다.
fast가 맨 끝, 또는 맨 끝으로부터 한칸 전에 도착하면, slow를 반환한다.
코드
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) {
auto fast = head;
auto slow = head;
while(fast != NULL && fast -> next != NULL) {
fast = fast -> next -> next;
slow = slow -> next;
}
return slow;
}
};
728x90
반응형
'PS > LeetCode' 카테고리의 다른 글
[LeetCode] 2540. Minimum Common Value (0) | 2024.03.09 |
---|---|
[LeetCode] 3005. Count Elements With Maximum Frequency (0) | 2024.03.08 |
[LeetCode] 1750. Minimum Length of String After Deleting Similar Ends (0) | 2024.03.05 |
[LeetCode] 948. Bag of Tokens (0) | 2024.03.04 |
[LeetCode] 19. Remove Nth Node From End of List (0) | 2024.03.03 |