题解 | #反转链表#
反转链表
https://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca
/* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } };*/ #include <iterator> #include <list> #include <stack> class Solution { public: ListNode* ReverseList(ListNode* pHead) { //************************************************** stack<ListNode*> s; while(pHead){ s.push(pHead); pHead = pHead->next; } if(s.empty()) return NULL; ListNode* node = s.top(); s.pop(); ListNode* dummy = node; while(!s.empty()){ ListNode* temp = s.top(); s.pop(); node->next = temp; node = node->next; } node->next=NULL; return dummy; } };