어흥
[해커랭크] Delete duplicate-value nodes from a sorted linked list (C++) 본문
알고리즘/HackerRank
[해커랭크] Delete duplicate-value nodes from a sorted linked list (C++)
라이언납시오 2021. 1. 15. 11:56728x90
반응형
1. 주의할 점
- 입력받는 List는 오름차순으로 정렬되어 있다
- 중복될 경우, 새로운 포인터를 이용한다
2. 구현
- Head가 가리키는 주소를 저장할 Node를 설정한다
- While문을 수행하여 Head의 처음부터 끝까지 탐색한다
- 현재 head의 값과 head 다음 Node의 값이 같다면 head->next를 head->next->next로 설정한다
- 현재 head의 값과 head 다음 Node의 값이 다르면 head = head->next로 설정한다
SinglyLinkedListNode* removeDuplicates(SinglyLinkedListNode* head) {
SinglyLinkedListNode* node = head;
while(head->next){
if(head->next->data==head->data)
head->next = head->next->next;
else
head = head->next;
}
return node;
}
728x90
반응형
'알고리즘 > HackerRank' 카테고리의 다른 글
[해커랭크] Preorder, Inorder, Postorder traversal (C++) (0) | 2021.01.20 |
---|---|
[해커랭크] Find Merge Point of Two Lists (C++) (0) | 2021.01.15 |
[해커랭크] Merge two sorted linked lists (C++) (2) | 2021.01.15 |
[해커랭크] Get Node Value (C++) (0) | 2021.01.15 |
[해커랭크] Compare two linked lists (C++) (0) | 2021.01.15 |
Comments