/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
class Solution {
public:
ListNode* reverseList(ListNode* head) {
stack<int>obj;
//首先对链表进行遍历,将链表里面的数据存入栈中保存
ListNode* p=head;
while(p!=NULL)
{
obj.push(p->val);
p=p->next;
}
ListNode* q=head;
//对链表重新新进行赋值
while(!obj.empty()&&q!=NULL)
{
q->val=obj.top();
q=q->next;
obj.pop();
}
return head;
}
};
LeetCode:206.翻转链表
最新推荐文章于 2025-03-19 11:09:11 发布
本文介绍了一种使用栈来实现链表逆序的方法。通过遍历链表并将节点值压入栈中,再从栈中弹出值重新赋给链表节点,从而达到逆序的效果。此方法巧妙利用了栈的特性,避免了直接修改链表指针的复杂度。
2178

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



