题解 | #反转链表#
反转链表
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;
}
};

查看23道真题和解析