Delete Node In A Linked List
problem
주어진 노드를 삭제하는 문제입니다.
https://leetcode.com/problems/delete-node-in-a-linked-list/submissions/
solution
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
class Solution {
public:
void deleteNode(ListNode* node) {
*node =*(node->next);
}
};
/*
class Solution {
public:
void deleteNode(ListNode* node) {
ListNode* right = node->next;
node->val = right->val;
node->next = right->next;
delete right;
}
};
*/
후기
위 코드의 문제점은 무엇인가?
내가 수많은 링크드 리스트를 만들고, 삭제하는데 저 코드를 쓴다면,
node가 삭제되지 않고 이어져있으므로, 메모리가 부족해지고 말것이다.
만약 1-2-3-4-5 가 있는데 2를 삭제한다고하면
1-3-4-5
---/
--3
(주석처럼 작성하거나)
자바처럼 주기적으로 접근할 수 없는 변수를 지워줄 수 있는 환경이면, 위처럼 코드를 작성해도 괜찮을 것 같다.
Author And Source
이 문제에 관하여(Delete Node In A Linked List), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@rladygks329/Delete-Node-In-A-Linked-List저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)