어흥
[해커랭크] Insert a Node at the Tail of a Linked List (C++) 본문
728x90
반응형
문제 링크: www.hackerrank.com/challenges/insert-a-node-at-the-tail-of-a-linked-list/problem?h_r=internal-search
1. 주의할 점
- 파라미터로 넘겨받은 head가 nullptr인 경우 예외처리를 해주면 된다
2. 구현
- 단방향 링크드 리스트 노드로 구성되어 있어서, head와 같은 주소를 저장할 rtnList를 미리 생성한다
- 새로 생성한 링크드 리스트 노드 node를 미리 만들어 놓는다
- While문을 통해 head가 tail을 가리키도록 한다(NULL 바로 앞의 주소)
- 만약 head가 nullptr이라면 node를 그대로 반환한다
- head가 nullptr이 아니라면, head에 node를 추가한 이후, rtnList를 반환한다
SinglyLinkedListNode* insertNodeAtTail(SinglyLinkedListNode* head, int data) {
SinglyLinkedListNode* rtnList = head;
SinglyLinkedListNode* node = new SinglyLinkedListNode(data);
while (head) {
if (head->next == nullptr) break;
head = head->next;
}
if (head == nullptr) return node;
head->next = node;
return rtnList;
}
728x90
반응형
'알고리즘 > HackerRank' 카테고리의 다른 글
[해커랭크] Print in Reverse (C++) (0) | 2021.01.15 |
---|---|
[해커랭크] Delete a Node (C++) (0) | 2021.01.15 |
[해커랭크] Insert a node at a specific position in a linked list (C++) (0) | 2021.01.14 |
[해커랭크] Insert a node at the head of a linked list (C++) (0) | 2021.01.14 |
[해커랭크] Inserting a Node Into a Sorted Doubly Linked List (C++) (0) | 2021.01.14 |
Comments