#include <iostream> using namespace std; struct LinkNode { int val; LinkNode *next; LinkNode(int x):val(x),next(NULL){}; }; LinkNode *initList(int n) { if(n<=0) return NULL; LinkNode *root = NULL; LinkNode *p, *q; int value; while(n--) { cin>>value; p = new LinkNode(value); if(!root) { root = p; q = root; continue; //if not, when n =1, it's a loop; } q->next = p; q = q->next; } return root; } LinkNode *reverse(LinkNode *root) { if(!root) return NULL; LinkNode *p, *q, *temp; p = root; q = root->next; while(q) { temp = q; q = q->next; temp->next = p; p = temp; } root->next = NULL; return p; } void printList(LinkNode *root) { while(root) { cout<<root->val; root = root->next; if(root) cout<<' '; } cout<<endl; } int main() { LinkNode *root,*newRoot; int n; while(cin>>n) { if(n==0) { cout<<"NULL"<<endl; continue; } root = initList(n); printList(root); newRoot = reverse(root); printList(newRoot); } return 0; } /************************************************************** Problem: 1518 User: zhongky Language: C++ Result: Wrong Answer ****************************************************************/
#include <iostream> using namespace std; struct LinkNode { int val; LinkNode *next; LinkNode(int x):val(x),next(NULL){}; }; LinkNode *initList(int n) { if(n<=0) return NULL; LinkNode *root = NULL; LinkNode *p, *q; int value; while(n--) { cin>>value; p = new LinkNode(value); if(!root) { root = p; q = root; continue; //if not, when n =1, it's a loop; } q->next = p; q = q->next; } return root; } LinkNode *findKthNode(LinkNode *root, int n, int k) { //three cases: if(!root) return NULL; if(k>n||k==0) return NULL; if(n==k) return root; LinkNode *p,*q; int i = 0; p = root; q = root; while(++i!=k) q = q->next; while(q->next) //q->next { q = q->next; p = p->next; } return p; } int main() { int n,k; LinkNode *root; LinkNode *p; while(cin>>n>>k) { root = initList(n); p = findKthNode(root,n,k); if(!p) { cout<<"NULL"<<endl; continue; } cout<<p->val<<endl; } return 0; } /************************************************************** Problem: 1517 User: zhongky Language: C++ Result: Accepted Time:200 ms Memory:3104 kb ****************************************************************/