题解 | #反转链表#
反转链表
https://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca
/*
struct ListNode {
int val;
struct ListNode *next;
ListNode(int x) :
val(x), next(NULL) {
}
};*/
class Solution {
public:
ListNode* ReverseList(ListNode* pHead) {
stack<ListNode*> s;
while(pHead!=nullptr){
s.push(pHead);
pHead=pHead->next;
}
if(!s.empty()){
pHead=s.top();
ListNode*p=pHead;
s.pop();
while(!s.empty()){
p->next=s.top();
s.pop();
p=p->next;
}
p->next=nullptr;
}
else pHead=nullptr;
return pHead;
}
};
采用栈数据结构辅助完成

