class Solution {
public:
ListNode* reverseList(ListNode* head) {
stack<ListNode*> s;
while (head != nullptr){
s.push(head);
head = head->next;
}
if (s.empty()){
return nullptr;
}
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 = nullptr;
return dummy;
}
};
(使用栈)力扣:反转链表
最新推荐文章于 2024-03-11 16:04:42 发布
这段代码实现了一个函数,通过栈来反转给定的链表。它遍历链表并将节点推入栈中,然后从栈中弹出节点并重新连接它们以形成反向链表。最后,返回新的链表头节点。
349

被折叠的 条评论
为什么被折叠?



