728x90
www.hackerrank.com/challenges/delete-a-node-from-a-linked-list/problem
position이 주어지고 해당 position의 노드를 삭제하는 코드를 작성해야 한다.
SinglyLinkedListNode* deleteNode(SinglyLinkedListNode* head, int position) {
SinglyLinkedListNode* temp = head;
SinglyLinkedListNode* tmp;
if(position == 0)
{
head = head->next;
return head;
}
for(int i=0;i<position-1;i++){
temp = temp->next;
}
tmp = temp->next;
temp->next = tmp->next;
free(tmp);
return head;
}
△ 작성한 부분
항상 모든 경우에 대비하는 코드를 작성해야 함을 잊지말자..
0번 position 즉, head 노드를 삭제할 경우에는 더 간단하게 끝난ㄴ다.
SMALL
'Programming > C C++' 카테고리의 다른 글
Drawing Book (0) | 2020.09.27 |
---|---|
[DS] Reverse a doubly-linked list (0) | 2020.09.27 |
Migratory Birds (0) | 2020.09.20 |
[DS] Insert a node at a specific position in a linked list (0) | 2020.09.13 |
Divisible Sum Pairs (0) | 2020.09.13 |