Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Delete the Middle Node of a Linked List #97

Closed
Tracked by #101
fkdl0048 opened this issue Oct 15, 2024 · 0 comments
Closed
Tracked by #101

Delete the Middle Node of a Linked List #97

fkdl0048 opened this issue Oct 15, 2024 · 0 comments
Assignees
Labels
Milestone

Comments

@fkdl0048
Copy link
Owner

fkdl0048 commented Oct 15, 2024

/**
 * 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* deleteMiddle(ListNode* head) {
        if (head == nullptr || head->next == nullptr) {
            return nullptr;
        }

        ListNode* fast = head;
        ListNode* slow = head;
        ListNode* prev = nullptr;

        while (fast != nullptr && fast->next != nullptr) {
            prev = slow;
            fast = fast->next->next;
            slow = slow->next;
        }

        if (prev != nullptr) {
            prev->next = slow->next;
        }

        return head;
    }
};
  • 단일 연결 리스트의 중간을 삭제하는 문제로 투 포인터 전략을 사용하여 풀이
  • 2개씩 이동하는 포인터와 한칸 씩 이동하는 포인터가 존재할 때, 2개씩 이동하는 포인터가 마지막에 도착한다면 한칸 씩 이동한 포인터는 중간에 위치하게 되는 아이디어
@fkdl0048 fkdl0048 mentioned this issue Oct 15, 2024
7 tasks
@fkdl0048 fkdl0048 self-assigned this Oct 15, 2024
@fkdl0048 fkdl0048 added this to Todo Oct 15, 2024
@github-project-automation github-project-automation bot moved this to Todo in Todo Oct 15, 2024
@fkdl0048 fkdl0048 added this to the LeetCode milestone Oct 15, 2024
@fkdl0048 fkdl0048 moved this from Todo to In Progress in Todo Oct 15, 2024
@github-project-automation github-project-automation bot moved this from In Progress to Done in Todo Oct 15, 2024
@fkdl0048 fkdl0048 reopened this Oct 15, 2024
@github-project-automation github-project-automation bot moved this from Done to Todo in Todo Oct 15, 2024
@github-project-automation github-project-automation bot moved this from Todo to Done in Todo Oct 15, 2024
@fkdl0048 fkdl0048 mentioned this issue Oct 15, 2024
75 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Done
Development

No branches or pull requests

1 participant