DINGA DINGA
article thumbnail
728x90

https://www.hackerrank.com/challenges/print-the-elements-of-a-linked-list-in-reverse/problem

 

Print in Reverse | HackerRank

Print the elements of a linked list in reverse order, from tail to head

www.hackerrank.com

Data Structures > Linked Lists

 

단방향 연결 리스트가 주어지면 리스트를 역순으로 출력한다.

 

 

코드

void reversePrint(SinglyLinkedListNode* llist) {
    SinglyLinkedListNode *temp, *now = NULL;
    while (llist){
        temp = now;
        now = llist;
        llist = llist->next;
        now->next = temp;
    }
    while (now){
        printf("%d\n", now->data);
        now = now->next;
    }
}

 

설명

temp와 now 노드를 선언한다.

llist가 NULL이 아닐 때 반복되는 while문에서 temp를 활용해 리스트의 방향을 바꿔준다.

다른 while문으로 now가 NULL이 아닐 때까지 노드를 출력한다.

 

728x90

'C & C++ > HackerRank' 카테고리의 다른 글

[HackerRank] Quicksort 1 - Partition  (0) 2021.08.29
[HackerRank] 2D Array - DS  (0) 2021.08.29
[HackerRank] Tree: Level Order Traversal  (0) 2021.08.13
[HackerRank] Find Digits  (0) 2021.08.13
[HackerRank] Cycle Detection  (1) 2021.08.04