/* Question 1511: print the linked list from the end to the end */# include <stdio. h> # include <string. h> struct Node {int data; struct Node * next;}; void prit (Node * root) {while (root! = NULL) {printf ("% d", root-> data); root = root-> next;} void Rprit (Node * root) {if (root = NULL) return; else Rprit (root-> next); printf ("% d \ n", root-> data );} node * createNode (int value) {Node * pNode = new Node (); pNode-> data = value; pNode-> next = NULL; return pNode ;} void AddToTail (Node ** pHead, int value) {Node * pNew = new Node (); pNew-> data = value; pNew-> next = NULL; if (* pHead = NULL) {* pHead = pNew;} else {Node * pNode = * pHead; while (pNode-> next! = NULL) {pNode = pNode-> next;} pNode-> next = pNew;} int main () {Node * nNode = NULL; // prit (nNode ); int n; while (scanf ("% d", & n )! = EOF) {if (n <0) break; AddToTail (& nNode, n) ;}rprit (nNode); return 0 ;}