leetcode力扣刷题打卡
题目:206. 反转链表
描述:给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。
解题思路
1、用数组;
2、用栈;
原代码##
class Solution {
public:
ListNode* reverseList(ListNode* head) {
ListNode *dummy = new ListNode(-1);
ListNode *p = dummy;
stack<ListNode *>s;
while (head) {
s.push(head);
head = head->next;
}
while (!s.empty()) {
dummy->next = s.top();
dummy = dummy->next;
s.pop();
}
dummy->next = nullptr;
return p->next;
}
};