借助指针?
#include <iostream> using namespace std; struct LinkNode{ int val; LinkNode* next; LinkNode(int v):val(v),next(NULL){}; }; class solution{ public: LinkNode* reverse(LinkNode* head){ if(head == NULL) return NULL; LinkNode* p = NULL; LinkNode* q = NULL; p = head->next; head->next = NULL; while(p){ q = p->next; p->next = head; head = p; p = q; } return head; } void Print(LinkNode* head){ if(head == NULL) return; LinkNode* p = NULL; p = head; while(p){ cout<<p->val<<" "; p = p->next; } cout<<endl; } }; int main(){ LinkNode node(5); node.next = new LinkNode(6); node.next->next = new LinkNode(7); solution s; s.Print(&node); LinkNode* p=s.reverse(&node); s.Print(p); }