728x90
https://www.hackerrank.com/challenges/print-the-elements-of-a-linked-list-in-reverse/problem
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 |