HackerRank/Data Structures

[HackerRank] Linked Lists > Insert a Node at the Tail of a Linked List

ruming 2021. 9. 26. 23:17

https://www.hackerrank.com/challenges/insert-a-node-at-the-tail-of-a-linked-list/problem

연결리스트의 마지막에 노드를 삽입하는 문제다.

 

SinglyLinkedListNode* insertNodeAtTail(SinglyLinkedListNode* head, int data) {
    if (head == NULL) {
        return create_singly_linked_list_node(data);
    }
    
    SinglyLinkedListNode *node = head;
    while (node->next != NULL) {
        node = node->next;
    }
    
    node->next = create_singly_linked_list_node(data);
    return head;
}

head가 NULL이면 노드를 삽입한다. node에 head를 복사해 head가 NULL이 아니면 다음 노드가 빈 노드일 때까지 이동해 새로운 노드를 삽입한다. head를 반환한다.