본문 바로가기
HackerRank

Print the Elements of a Linked List

by Doromi 2023. 10. 7.
728x90
반응형

연결 리스트(Linked List)의 요소를 출력하는 간단한 알고리즘 문제입니다. 이 문제의 목표는 주어진 연결 리스트를 순회하면서 각 요소를 출력하는 것입니다.

연결 리스트는 데이터 요소(Node)로 이루어진 데이터 구조로, 각 노드는 데이터와 다음 노드를 가리키는 링크(또는 포인터)로 구성됩니다. 연결 리스트의 끝을 나타내는 노드는 다음 노드를 가리키는 링크가 없는 특별한 노드일 수 있습니다.

문제 설명:
문제의 입력으로는 연결 리스트의 시작 노드가 주어집니다. 각 노드는 정수 데이터와 다음 노드를 가리키는 포인터(링크)로 구성됩니다. 연결 리스트를 순회하면서 각 노드의 데이터를 출력해야 합니다.

알고리즘 절차:

연결 리스트의 첫 번째 노드(시작 노드)를 가리키는 포인터를 얻습니다.
시작 노드부터 끝 노드까지 순회하면서 다음을 반복합니다:
현재 노드의 데이터를 출력합니다.
현재 노드의 다음 노드로 이동합니다.
끝 노드까지 도달하면 순회를 종료합니다.
이 알고리즘을 구현하면 주어진 연결 리스트의 요소를 순서대로 출력할 수 있습니다. 출력 형식은 문제의 요구 사항 또는 프로그래밍 환경에 따라 다를 수 있습니다. 일반적으로 각 요소를 공백 또는 줄 바꿈으로 구분하여 출력합니다.

주의: 연결 리스트를 순회하면서 출력할 때, 노드의 데이터를 출력하고 다음 노드로 이동하는 부분을 신경 써야 합니다. 무한 루프를 방지하기 위해 연결 리스트의 끝을 나타내는 노드를 올바르게 처리해야 합니다.

 

void printLinkedList(SinglyLinkedListNode* head) {
    if(head == nullptr) return;
    
    cout<<head->data<<endl;
    printLinkedList(head->next);
    
}
728x90
반응형

'HackerRank' 카테고리의 다른 글

Insert a node at the head of a linked list  (0) 2023.10.07
Insert a Node at the Tail of a Linked List  (0) 2023.10.07
Binary Search Tree : Insertion  (1) 2023.10.06
Tree: Level Order Traversal  (0) 2023.10.05
Rotate  (1) 2023.10.05