#include #include typedef struct Node { int data; struct Node* next; } Node; void printReverse(Node* head) { if (head == NULL) { return; } printReverse(head->next); printf("%d\n", head->data); } Node* createNode(int data) { Node* newNode = (Node*)malloc(sizeof(Node)); newNode->data = data; newNode->next = NULL; return newNode; } int main() { Node* head = createNode(1); head->next = createNode(2); head->next->next = createNode(3); printf("Linked list in reverse: "); printReverse(head); printf("\n"); Node* tmp; while (head) { tmp = head; head = head->next; free(tmp); } return 0; }